Java-lang-class-assubclass

提供:Dev Guides
移動先:案内検索

Java.lang.Class.asSubclass()メソッド

説明

  • java.lang.Class.asSubclass()*メソッドは、このClassオブジェクトをキャストして、指定されたクラスオブジェクトによって表されるクラスのサブクラスを表します。これは、受け入れたいClassオブジェクトを制限するAPIに限定されます。

宣言

以下は* java.lang.Class.asSubclass()*メソッドの宣言です

public <U> Class<? extends U> asSubclass(Class<U> clazz)

パラメーター

NA

戻り値

このメソッドは、指定されたクラスオブジェクトのサブクラスを表すためにキャストされたこのClassオブジェクトを返します。

例外

*ClassCastException* -このClassオブジェクトが指定されたクラスのサブクラスを表さない場合(この「サブクラス」にはクラス自体が含まれます)。

次の例は、java.lang.Class.asSubclass()メソッドの使用方法を示しています。

package com.finddevguides;

import java.lang.*;

public class ClassDemo {

   public static void main(String[] args) {

     try {
         ClassDemo cls = new ClassDemo();
         ClassDemo subcls = new SubClass1();

        //class ClassDemo
         Class c = cls.getClass();
         System.out.println(c);

        //sub class SubClass1
         Class c1 = subcls.getClass();
         System.out.println(c1);

        //represent a subclass of the specified class object
         Class retval = c1.asSubclass(c);

         System.out.println(retval);
      } catch(ClassCastException e) {
         System.out.println(e.toString());
      }
   }
}

class SubClass1 extends ClassDemo {
  //sub class
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

class com.finddevguides.ClassDemo
class com.finddevguides.SubClass1
class com.finddevguides.SubClass1