【8/27まで】Udemyの人気コースが今なら1,200円から!!

【Java入門】リフレクションでstaticメソッドを実行する方法

【Java入門】リフレクションでstaticメソッドを実行する方法

この記事では、以下のProductクラスが持つ、staticなTwice(),DoubleSomething()メソッドをリフレクションを使って実行する方法をまとめています。

Product.java

public class Product {

    private static int fieldVal = 100;

    private static int Twice(){
        return fieldVal = fieldVal * 2;
    }

    private static int DoubleSomething(int x){
        return x * 2;
    }
}

staticメソッドを実行する方法

ProductTest.java

//インスタンスを取得。
Product obj = new Product();

//メソッドを取得。
Method method = Product.class.getDeclaredMethod("Twice");

//メソッドにアクセスできるようにする。
method.setAccessible(true);

//メソッド実行
int result = (int) method.invoke(null);

//結果を出力
System.out.println(result);

実行結果

200
解説
staticなメソッドを実行する場合は、11行目のinvokeメソッドではインスタンスをセットする代わりにnullをセットして実行します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です