Java-lang-class-isassignablefrom
提供:Dev Guides
Java.lang.Class.isAssignableFrom()メソッド
説明
- java.lang.Class.isAssignableFrom()*は、このClassオブジェクトによって表されるクラスまたはインターフェースが、指定された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