於是我在一個問題已經運行,並已破壞我的大腦試圖找出了兩天,所以我想是時候得到一些幫助。經與動態Java中
所以這裏在我的問題是我有擴展抽象類A抽象類B,我不重寫B中的任何方法或任何東西,但指定更專業的行爲,變量和這樣的。
現在,這裏是我的問題出現在哪裏,我有第三課讓我們說C類,實現所有適當的方法,也許覆蓋一些(我使用@Override表示法,所以我知道它做得很好),並可能添加一些自己的方法和變量。
現在,這是偉大的,但是當我試圖創建一個類型的數組,我想使用動態的,因此我可以添加C型,或其他任何導致回A像這樣的對象結合。
A[] AObjects = new A[3];
Aobject[0] = new C();
so on and so forth
現在讓我們說我有一個像getNum()方法;在C裏面只有C,它一直告訴我,getNum();在我嘗試使用它時沒有在類型A中定義。我錯過了什麼嗎?因爲根據我的理解,方法只在運行時綁定,所以我應該能夠獲取類型A的引用變量,並將其分配給類型C的對象,並且能夠調用C中的所有公共成員,對?或者數組的規則不同?
P.S我用保護我的變量,公衆對我的方法。
任何幫助將不勝感激! :)謝謝
你如何訪問C類型的對象? 'Aobject [0] .getNum()'不能按照Java規範工作,但'((C)Aobject [0])。getNum()'應該可以正常工作。 – torquestomp
@torquestomp謝謝:) –