嗨,我正在尝试找出子类,形成一个父类(super class)对象。
if Class Super is the super class.
and Class Sub1 and Class Sub2 extends Class Super.(all classes are public)
Lets say I have a object of Super type as
Super superObject = new Sub1();
现在对于 superObject,是否可以找到 superObject 在 Java 中扩展的子类?
由于“父类(super class)不会知道它拥有的任何子类”,您能否告诉我上面的问题首先是有效,还是我遗漏了任何基本概念?
提前致谢。
最佳答案
getClass() 方法将在运行时返回对象的具体类型,而不是引用类型。所以简单地做:
Super superObject = new Sub1();
Class<? extends Super> klass = superObject.getClass();
会给你 Sub1.class 从你的问题中不清楚你想用它做什么。您可以简单地调用 getName() ,检查您拥有的其他引用是否具有相同类型,等等。
关于java - Reflection api - 查找子类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6211417/