是否可以使用Java Reflection或各种技术来检查类是否具有父类?

时间:2011-05-23 15:32:45

标签: java reflection parent

  

可能重复:
  Is it possible to use Java Reflection to print out attributes of the parent class?

嗨,是否可以使用Java Reflection或各种技术来检查一个类是否有父类?

这个想法需要创建一个实用程序类,它接受一个对象,打印出它的属性,如果存在父类,则打印出父类的属性。

编辑我想问一下是否有办法继续检查一个类是否有一个母类一直到Object类。

2 个答案:

答案 0 :(得分:3)

使用此:

Class<?> superClass = MyClass.class.getSuperClass();

所有超类:

public static void printSuperClass(Class<?> clazz) {
  if (clazz == null) return;

  Class<?> superclass = clazz.getSuperClass();
  System.out.println(clazz.getName() + " extends " + superclass.getName());
  printSuperClass(superclass);
}

答案 1 :(得分:1)

您可以使用for循环来提升父类。

for(Class clazz=object.getClass(); clazz!=null; clazz=clazz.getSuperClass())
    System.out.println(clazz);

注意:对象,基元,接口和数组都有null作为超类。