定義済のクラスの情報にアクセスするためのしくみをリフレクションと呼ぶ。
🗻 Classクラス
Class
クラスはプログラムの実行時、クラスがロードされた時点で生成されるクラスやインタフェースに関する情報をもつオブジェクトです。
以下はClass
型のインスタンスを得る際のサンプルです。
package com.morizyun.sample;
class Hoge { }
public class Main { public static void main(String[] args) { System.out.println(Hoge.class.getSimpleName());
System.out.println(new Hoge().getClass().getSimpleName());
Class> klass = Class.forName(com.morizyun.Hoge); } }
|
以下はClass
型のオブジェクトを介して、クラスに関する情報にアクセスするサンプルです。
package com.morizyun.sample;
class Hoge { }
public class Main { public static void main(String[] args) { Class> klass = Class.forName(com.morizyun.sample.Hoge);
Annotation[] annotations = klass.getAnnotations();
Constructor>[] constructors = klass.getConstructors();
Constructor>[] allConstructors = klass.getDeclaredConstructors();
Field[] fields = klass.getFields();
Field[] allFields = klass.getDeclaredFields();
Method[] methods = klass.getMethods();
Method[] allMethods = klass.getDeclaredMethods(); } }
|
🏀 参考リンク
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!