-1
嗨,你們不確定一行代碼 它看起來像下面的層次結構。是什麼意思:MyInterfaceA <MyinterfaceB> myvariable in java?
public interface MyIntA<T extends MyIntB> {
//stuff
}
,第二個
public interface MyIntB<T extends MyIntC>{
//stuff
}
,然後在其中的代碼我看到的別的此
MyIntA<MyIntB> var = doStuff();
其中doStuff();返回類型爲
<T extends MyIntB> MyIntA <T>
MyIntA<MyIntB> var
怎麼樣被允許?
var是什麼類型? Interface<Interface>
的類型?
接口是不是一個「型」 –
'''MyIntA'''因爲公共接口MyIntA '''是允許的。其中'''T'''至少是'''MyIntB'''(泛型協方差)。這似乎是什麼問題 –
Sheinbergon
需要一些時間才能適應泛型,所以我理解你的困惑。我不明白你的具體問題。 'var'被聲明爲'MyIntA',所以'var'的編譯時間類型(因爲'MyIntA'在接口中,它將得到一個更具體的運行時類型)。 –