Java Class类 asSubclass()方法及示例

Class类asSubclass()方法

  • asSubclass()方法在java.lang包中可用。

  • asSubclass()方法强制转换此Class对象,以表示由给定Class对象表示的类的子类。

  • asSubclass()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • asSubclass()方法可能会在强制转换Class时引发ClassCastException。
    ClassCastException:在此异常中,当此Class表示给定类的子类时,则为此类。

语法:

    public Class asSubclass(Class class_name);

参数:

  • 类class_name –表示类的名称。

返回值:

此方法的返回类型为Class,它返回此Class对象,强制转换为表示给定Class对象的子类。

示例

//Java程序演示示例 
//Class class的Class asSubclass(Class class_name)方法的方法

public class ParentClass {
    public static void main(String[] args) throws Exception {
        //创建ParentClass和ChildClass实例
        ParentClass pc = new ParentClass();
        ParentClass cc = new ChildClass();

        //获取类名
        Class parent = pc.getClass();
        System.out.println("Parent Class: " + parent);

        Class child = cc.getClass();
        System.out.println("Child Class: " + child);

        //我们表示给定ParentClass对象的ChildClass-
        Class subclass = child.asSubclass(parent);
        System.out.println("child.asSubclass(parent): " + subclass);
    }
}

class ChildClass extends ParentClass {

}

输出结果

Parent Class: class ParentClass
Child Class: class ChildClass
child.asSubclass(parent): class ChildClass