Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

【JAVA】Class[変数]からのインスタンス生成

変な事聞きますが、教えてください。

伝わらなかったらすみません。
こんなようなことって、できますか?

public class A {
 public enum infomation {

  INFO_A(123, ClassAImpl.class);
  INFO_B(456, ClassBImpl.class);

  infomation(Integer 数字, Class classImpl){
   this.数字=数字;
   this.classImpl=classImpl;
  }

  public Implの素 getInstance(){
   return new this.classimpl;
  }
  ※Implの素・・・インターフェース

  private int 数字;
  private Class classImpl;
 }
}

ちょいちょい日本語混じってるのは見やすさを考慮して
です。
Class型変数からそのClassのインスタンスを作ることは
できますか?
どんなシチュエーションだよと思うかもしれませんが、
できたらこんなことをしたいです。

5

回答

83277

閲覧

5件の回答

評価

0

Classオブジェクトが表現しているクラスのインスタンスは
newInstanceメソッドで生成できます。
ただし、そのClassオブジェクトが表現しているクラスに
デフォルトコンストラクタがあることが必須です。

評価

0

ありがとうございます!
IDEの補完で候補を見たときにそれらしきものを見つけら
れなかったのでできないのかと思いました。
助かります。

評価

0

なにいってるの?デフォルトコンストラクタなくてもいけるんだがw

https://ideone.com/TZm93O

評価

0

怖くてリンク踏めない

評価

0

引数付きのコンストラクタはgetConstructor()で取るんだ
よ。
用意されていないわけがない。

で、リンクは問題ないよ。何なら先に、ideoneでぐぐって
どういうサイトか見てみたらいい。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。