スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リフレクション

リフレクション

実行中のプログラムの情報を取り出したり、変更したりする機能のこと。

XMLファイルを読み込んで、そこに記述されているクラス名から、
そのクラスのインスタンスを生成したりできる。


//Reflection.java
package meta_pg;

public class Reflection {

public static void main(String[] args){
// "myClassName" is the class name to load
Class clazz = null;

try {
String myClassName = args[0];
clazz = Class.forName(myClassName);
// クラスのインスタンスを作成する
clazz.newInstance();

} catch (ClassNotFoundException ex) {
// handle exception case
System.out.println("クラスが見つかりません");
}catch(Exception ex2){

}

}
}
//MyClass.java
package meta_pg;

public class MyClass {
public MyClass(){
System.out.println("MyClass#MyClass");
}
}


Reflection.javaにクラス名がハードコーディングされていない為、実行時に他のクラスに変更することが容易。
反面、やや読みにくいコードとなる。

実行結果

MyClass#MyClass
スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。