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