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