Javaでprivateメソッドを呼び出す方法は何ですか?
Javaでは、プライベートメソッドはその所属するクラス内でしか呼び出すことができません。他のクラスでプライベートメソッドを呼び出したい場合は、リフレクションを使用することができます。
このコード例では、リフレクションを使用してプライベートメソッドを呼び出す方法が示されています。
import java.lang.reflect.Method;
public class PrivateMethodExample {
private void privateMethod() {
System.out.println("This is a private method.");
}
public static void main(String[] args) throws Exception {
PrivateMethodExample example = new PrivateMethodExample();
// 获取私有方法
Method method = PrivateMethodExample.class.getDeclaredMethod("privateMethod");
// 设置私有方法可以被访问
method.setAccessible(true);
// 调用私有方法
method.invoke(example);
}
}
上記のコードでは、PrivateMethodExampleクラスを最初に作成し、その中にprivateMethodというプライベートメソッドを含めました。その後、mainメソッドでリフレクションを使用してプライベートメソッドを取得し、呼び出しました。重要なのは、privateMethodにアクセスできるようにするためにmethod.setAccessible(true)を設定する必要がある点です。