javaのリフレクションを分かりやすく教えて頂けますでしょうか?クラスの情報を取ってきて強引にメソッドを実行。って覚えて問題無いでしょうか?(汗)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
クラスの情報を取ってきて強引にメソッドを実行
上記以外にもインスタンスを生成したり、プライベートフィールドにアクセスできたりします。
リフレクションについて、私がよく見るページを参考に貼っておきます :)
投稿2015/09/15 13:27
総合スコア1656
0
ベストアンサー
リフレクションはメタプログラミングなどで使うもので、
Java言語の一般ルール外からJavaのプログラムにアクセスする仕組みです。
(一般ルール外というのは一般的な用語では無く少し語弊がありますが...)
例えば、文字列としてのメソッド名を使ってメソッドを実行することは、(リフレクション以外の)Java言語のルール上ではできません。
リフレクションを使えば、文字列としてのクラス名やメソッド名を元にメソッドオブジェクトを取得し、メソッドを実行(Method#invoke
)することができます。
リフレクションの主要な用途としては、IDEなどのツールでの使用があります。
例えば、リフレクションを使って任意のクラスの全ての宣言されたメソッドの一覧を取得、のようなこともできます。こういう機能は、IDEなどでクラスの情報を表示する場合に必要になります。
投稿2015/09/15 13:24
総合スコア9396
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
参考情報を紹介します。
...
リフレクションを利用することで、クラスのフィールド変数にアクセスしたり、メソッドを呼び出したりできます。
...
- リフレクションとは? http://java.keicode.com/lang/reflection.php
...
実行時においてオブジェクトのクラス情報を調べたりすることを、リフレクションといいます。リフレクションによって、 実行時にクラスの名前、メソッドの名前やパラメータなどを知ることができます。
...
- Java のリフレクションでインスタンスやメソッドを動的生成する http://futurismo.biz/archives/2715
...
リフレクションとは, プログラム実行中に, クラス名やメソッド名を動的に指定することができる技術
...
java.lang.reflect というパッケージがある.
...
投稿2015/09/15 22:05
総合スコア22328
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/24 14:59 編集