java.lang.Class.isAssignableFrom()方法实例
java.lang.Class.isAssignableFrom() 确定此Class对象所表示的类或接口是不一样的,或者说是一个超类或超接口,由指定的Class参数所表示类或接口。
声明
以下是java.lang.Class.isAssignableFrom()方法的声明
public boolean isAssignableFrom(Class<?> cls)
参数
-
cls -- 这是类对象进行检查。
返回值
此方法返回布尔值,它指示是否该类型cls对象可以被分配到这个类的对象。
异常
-
NullPointerException -- 如果指定的Class参数为null。
例子
下面的例子显示java.lang.Class.isAssignableFrom()方法的使用。
package com.yiibai; 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 bClass = BaseClass.class; // checks whether BaseClass is assignable from ClassDemo boolean retval = bClass.isAssignableFrom(c); System.out.println("Return Value = " + retval); // checks whether ClassDemo is assignable from BaseClass retval = c.isAssignableFrom(bClass); System.out.println("Return Value = " + retval); } catch(Exception e) { System.out.println(e.toString()); } } } // base class class BaseClass extends ClassDemo { public BaseClass() { // no argument constructor } }
让我们来编译和运行上面的程序,这将产生以下结果:
Return Value = false Return Value = true