0
我試圖創建一個有界類型參數的接口,以實現提供靜態的嵌套類來實現這個參數,如下所示:使用靜態嵌套類作爲泛型參數
public interface InterfaceProblem<T extends IMyParameter>{
T getParameterInstance();
}
interface IMyParameter {}
class MyClass implements InterfaceProblem<MyParameter> {
public MyParameter getParameterInstance() {
return new MyParameter();
}
class MyParameter implements IMyParameter{}
}
這給了我一個編譯在MyClass
聲明及其方法上出現錯誤「MyParameter無法解析爲類型」。
class MyClass implements InterfaceProblem<MyParameter> {
public MyParameter getParameterInstance() {
return new MyParameter();
}
}
class MyParameter implements IMyParameter{}
不過,我想避免這種情況,因爲MyParameter實施密切相關的MyClass的實現:如果我將靜態類自身的類型此消失。有沒有更好的辦法可以實現這個目標?這是正確的編譯器行爲? (我使用Eclipse火星和Oracle jdk1.8.0_60)
'靜態內部'是一個矛盾的詞彙。這是一個靜態嵌套類。 – EJP