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