-3
,如果我有這樣的:傳遞子類型在方法參數,以超類類型
class A{
}
class B extends A{
}
class C extends B{
}
然後可以我通過C的實例來請求A的實例的方法?像這樣:
void aMethod(A anInstanceOfA){
// some code
}
C anInstanceOfC = new C();
aMethod(anInstanceOfC);
如果沒有,有沒有辦法達到相同的結果?
是的,您可以隨時在需要A實例的情況下使用C實例。這包括將它傳遞給需要A參數的方法。 – Jojonete
你爲什麼不簡單地測試它?如果你的機器上沒有安裝Java,你可以使用在線編譯器,比如https://ideone.com/ – Pshemo
,你可以將'A'的任何子類型傳遞給'aMethod()',順便說一下,你可以很容易地測試這個在線或在一些ide – Ramanlfc