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