我有以下的類和接口的Java:變量需要類和接口
interface R
class A extends Component implements R
class B extends JButton implements R
class C extends JPanel implements R
class D extends xyz (that extends Component) implements R
所以我有幾類,所有擴展某種成分的(或多或少直接),並且都實現R.
於是我有了一個需要這樣的工作變量和方法不同等級F:
public class F {
public TYPE myVariable;
public myMethod void (TYPE argument) {
//...code...
myVariable = argument;
actionThatRequiresComponent(argument);
argument.actionDefinedInR();
//...code...
}
public anotherMethod void() {
//...code...
myMethod(myVariable);
//...code...
}
}
的問題是,這種類型必須滿足兩個質量要求:它是T o是任何類型的組件,並且必須實現接口R.因此該變量具有相同的要求。
我不確定採取哪種方法?我應該做一些擴展Component的抽象類,實現R?我應該跳過接口R的需求,並試着用try catch嗎?我可以使用泛型類嗎?當涉及到變量時,我該怎麼做? 有什麼建議嗎?
您是否嘗試過聲明的泛型類型'T'的''? –
khelwood
我不明白。 –
「action」定義來自哪裏?它是「R」的一部分嗎?如果是這樣,是'R'通用接口? – RealSkeptic