我有一個接口對象,我們稱之爲MyInterface東西。通過使用接口獲取變量
我的界面是空的並且由兩個類實現。
首先有一個變量int x,第二個兩個:int x,int y。
變量是私人的,但他們有「得到」方法,我知道他們。
是否可以通過使用「something」來獲得類的變量?
我有一個接口對象,我們稱之爲MyInterface東西。通過使用接口獲取變量
我的界面是空的並且由兩個類實現。
首先有一個變量int x,第二個兩個:int x,int y。
變量是私人的,但他們有「得到」方法,我知道他們。
是否可以通過使用「something」來獲得類的變量?
不,這是不可能的(不包括反射魔術),除非您將getX()
方法添加到MyInterface
。然後,它很容易,它有一個正確設計的好處。
@ khelwood指出,你可以將對象轉換爲實現類,不需要反射。 –
果然,如果你知道所有可能的實現類,你可以使用'if(ClassA的一個實例)...'。它仍然不是很好的設計,但它是對這個問題的一個有效的答案。你爲什麼不發佈它? –
我不認爲我可以在OP澄清問題之前給出一個好的答案(並添加一些代碼)。同意這個設計聽起來有缺陷。 –
如果您使用的是接口,那麼設計不應該*需要知道具體的實現。你的設計有缺陷。 – David
我使用java作爲標籤(應該提到它)。問題是這不是我的設計。我所能做的就是寫一個帶有sigle方法的類來獲得這個對象的「東西」。我必須得到這些變數,但不知道如何。 – evadin
請分享一些代碼以減少問題的含義。 –