位置:首頁 > Java技術 > java.lang > java.lang.Class.isAssignableFrom()方法實例

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