這是我在這裏問的第一個問題,所以我可能會做一些錯誤的事情。Java聲明一個實現接口的變量
我想聲明一個變量,我知道它是一個實現接口的類。
private <T extends Executable> T algorithm;
這是我試圖達到的目標
這是我在這裏問的第一個問題,所以我可能會做一些錯誤的事情。Java聲明一個實現接口的變量
我想聲明一個變量,我知道它是一個實現接口的類。
private <T extends Executable> T algorithm;
這是我試圖達到的目標
您不必爲此使用泛型。下面將任何子類/執行可執行的工作:
private Executable algorithm;
在字段聲明不能引入類型參數。它必須是由班級本身引入的。
例如
public class MyClass<T extends Executable> {
private T algorithm;
只是聲明,要麼作爲接口,或者是看到這個類有反正來實現該接口的類。取決於你需要它的方式。 但你必須像這樣分解實例變量。
private YourInterfaceName variablename;
private ClassName variablename;
和更高版本在構造函數中啓動它們。
也許這個toutorial可以幫助你瞭解更多的變量。
謝謝,解決了這個問題。會投票,但我沒有15代表 – MattiasDC
但這也綁定到該類的類。所以,可能不是完美的解決方案。參見另一個解決方案,這裏應該更適用。 –
@RohitJain:你說得對。但是,這只是爲了澄清關於聲明類型是類型參數的字段的疑問。 –