Java.lang.Class.isAssignableFrom() 方法
描述
java.lang.Class.isAssignableFrom() 确定此 Class 对象表示的类或接口是否与指定的类或接口相同,或者是其超类或超接口 类参数。
声明
以下是 java.lang.Class.isAssignableFrom() 方法的声明。
public boolean isAssignableFrom(Class<?> cls)
参数
cls − 这是要检查的 Class 对象。
返回值
该方法返回一个布尔值,指示是否可以将 cls 类型的对象分配给该类的对象。
异常
NullPointerException − 如果指定的 Class 参数为 null。
示例
下面的例子展示了 java.lang.Class.isAssignableFrom() 方法的使用。
import java.lang.*;
public class ClassDemo {
public static void main(String[] args) {
try {
ClassDemo cls = new ClassDemo();
Class c = cls.getClass();
// class object associated with BaseClass
Class subClass = SubClass.class;
// checks whether BaseClass is assignable from ClassDemo
boolean retval = subClass.isAssignableFrom(c);
System.out.println("Return Value = " + retval);
// checks whether ClassDemo is assignable from BaseClass
retval = c.isAssignableFrom(subClass);
System.out.println("Return Value = " + retval);
} catch(Exception e) {
System.out.println(e.toString());
}
}
}
// base class
class SubClass extends ClassDemo {
public SubClass() {
// no argument constructor
}
}
让我们编译并运行上面的程序,这将产生下面的结果 −
Return Value = false Return Value = true

