我對Java相對較新,希望對以下查詢有所幫助。我定義了兩個類 - 爲了簡單起見,我們稱它們爲A
和B
。 Class A
具有名爲methodA
的方法,並且Class B
具有名爲methodB
的方法。這兩個類的對象包含在一個叫做container
的ArrayList
中。我需要做的是循環訪問ArrayList
並根據對象的類型調用不同的方法。迭代Java ArrayList並根據類別執行不同的方法
這是目前我的代碼:
for (Object item : container) {
if (item instanceof A) {
item.methodA()
} else if (item instanceof B) {
item.methodB()
}
}
我的IDE(NetBeans的)將不會編譯上面的代碼,因爲Object
類型的item
沒有methodA
或methodB
。有沒有其他的方式來編寫循環來完成我需要它做的事情?謝謝。
爲什麼在if和else內容後沒有添加分號? – PVR
你應該閱讀關於多態性 – thriqon