比如我創建這樣一個對象:繼承關係
BankAccount b = new SavingsAccount();
現在讓我們說,我想訪問的方法addInterest()
是在SavingsAccount
我必須做的類:((SavingsAccount)b).addInterest();
我有這個問題,爲什麼我必須投b
SavingsAccount? b
的實際對象引用是否已經是SavingsAccount
類的實例? BankAccount
如何影響對象本身?我真的很困惑,究竟是什麼類正在實例化,以及如何BankAccount
和SavingsAccount
都能夠幫助使對象b
有效。
我很感激任何幫助。謝謝。
閱讀聲明類型和運行時類型之間的差異以及編譯時如何解析方法調用。 –