Java Class isAssignableFrom()方法

java.lang.Class.isAssignableFrom() 确定此Class对象所表示的类或接口是不一样的,或者说是一个超类或超接口,由指定的Class参数所表示类或接口。

1 语法

public boolean isAssignableFrom(Class<?> cls)

2 参数

cls:这是类对象进行检查。

3 返回值

此方法返回布尔值,它指示是否该类型cls对象可以被分配到这个类的对象。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.util.Calendar getInstance()方法的例子
 */
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

 

热门文章

优秀文章