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