考虑类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:“界面程序”应该被看作是一个很好的通用规则,而不是在任何情况下遵循的教条。有合法的理由来检查对象的执行时间类型。 –