Java-lang-class-getdeclaredconstructor
提供:Dev Guides
Java.lang.Class.getDeclaredConstructor()メソッド
説明
- java.lang.Class.getDeclaredConstructor()メソッドは、このClassオブジェクトによって表されるクラスまたはインターフェースの指定されたコンストラクターを反映するConstructorオブジェクトを返します。 *parameterTypes パラメーターは、宣言された順序でコンストラクターの仮パラメータータイプを識別するClassオブジェクトの配列です。
宣言
以下は* java.lang.Class.getDeclaredConstructor()*メソッドの宣言です
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
パラメーター
*parameterTypes* -これはパラメータ配列です。
戻り値
このメソッドは、指定されたパラメーターリストを持つコンストラクターのConstructorオブジェクトを返します。
例外
- NoSuchMethodException -一致するメソッドが見つからない場合。
- SecurityException -セキュリティマネージャーsが存在する場合。
例
次の例は、java.lang.Class.getDeclaredConstructor()メソッドの使用法を示しています。
package com.finddevguides;
import java.lang.reflect.*;
public class ClassDemo {
public static void main(String[] args) {
try {
ClassDemo cls = new ClassDemo();
Class c = cls.getClass();
//constructor with arguments as Double and Long
Class[] cArg = new Class[2];
cArg[0] = Double.class;
cArg[1] = Long.class;
Constructor ct = c.getDeclaredConstructor(cArg);
System.out.println("Constructor = " + ct.toString());
} catch(NoSuchMethodException e) {
System.out.println(e.toString());
} catch(SecurityException e) {
System.out.println(e.toString());
}
}
private ClassDemo() {
System.out.println("no argument constructor");
}
public ClassDemo(Double d, Long l) {
this.d = d;
this.l = l;
}
Double d = new Double(3.9d);
Long l = new Long(7687);
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
no argument constructor
Constructor = public ClassDemo(java.lang.Double,java.lang.Long)