演示如何获取Java中的直接超类信息

可以使用java.lang.Class.getSuperclass()方法获得任何实体的直接超类信息,例如对象,类,原始类型,接口等。

演示此的程序如下所示-

示例

package Test;
import java.lang.*;
class Class1{ }
class Class2 extends Class1{ }
public class Demo {
   public static void main(String args[]) {
      Class1 obj1 = new Class1();
      Class2 obj2 = new Class2();
      Class c;
      c = obj2.getClass();
      System.out.println("The class of object obj2 is: " + c.getName());
      c = c.getSuperclass();
      System.out.println("The super class of object obj2 = " + c.getName());
   }
}

输出结果

The class of object obj2 is: Test.Class2
The super class of object obj2 = Test.Class1

现在让我们了解上面的程序。

首先定义类class1和class2。演示这的代码片段如下-

class Class1{ }
class Class2 extends Class1{ }

在该方法中main(),定义了类class1和class2的对象obj1和obj2。然后getClass()用于获取对象obj2的类,并getSuperclass()用于获取对象obj2的超类。演示这的代码片段如下-

Class1 obj1 = new Class1();
Class2 obj2 = new Class2();
Class c;
c = obj2.getClass();
System.out.println("The class type of object obj2 is: " + c.getName());
c = c.getSuperclass();
System.out.println("The super class of object obj2 = " + c.getName());