2016-05-21 36 views
-7

在我的Java程序中,用戶可以在屏幕上選擇多個對象。當選擇一個時,我想用剛剛選擇的對象更新一個變量。但是,這些對象是不同類的實例,所以我該怎麼做?一個變量中的多種類型Java

+1

如何使用Object類?或者更好的是,創建你自己的超類,所有這些對象可以在邏輯上擴展。 –

+0

@PCLuddite接口將比超類(和對象)更好。 – Andreas

+0

@Andreas真的,這可能是一個更好的選擇,具體取決於他的代碼的實際佈局,但由於操作系統沒有提供任何代碼,我認爲你很難在兩種實現之間找到明顯的區別,並且歸結爲一個意見問題。 –

回答

1

也許你可以使用「對象」實例,因爲每個類以某種方式繼承了對象類。當你使用它時,你可以使用類型轉換來取回原始實例。

3

創建一個接口,該接口表示所有對象共有的內容,以及您想要訪問的對象的方法簽名。

然後創建實現該接口的單個​​對象。

如果您需要訪問原始對象的子類,則可以使用instanceof運算符來檢查對象是否屬於特定的子類,然後適當地對其進行類型轉換。

+0

使用接口的目的是不需要'instanceof'。 – Andreas

+0

對大多數方法的使用都是正確的,但可能需要區分它們。在OP的用例中,他將執行updateVariable(InterfaceClass),但如果後來他想知道該變量是哪個類,他將能夠檢查。 –