考慮類MinorClassA
和MinorClassB
,這兩個類都擴展爲MajorClass
。我有一個MajorClass
的對象,我確實知道它實際上是它的一個子類的一個實例。檢查Java中對象的子類
MinorClassA subclassedObj = new MinorClassA();
MajorClass obj = subclassedObj;
//------ More code -------------
if(subclassof(obj) == MinorClassA) //Something like this
如何找出該對象的子類是什麼?我無權訪問subclassedObj
,僅限於obj
。
編輯澄清:我知道如何檢查MinorClassA
是MajorClass
的實例,但不是相反。
'如果(OBJ的instanceof類名)...' – khelwood
*我怎樣才能找出該對象的子類是什麼?*編程接口,爲什麼你要確定具體類型? –
@ElliottFrisch:「界面程序」應該被看作是一個很好的通用規則,而不是在任何情況下遵循的教條。有合法的理由來檢查對象的執行時間類型。 –