Javaアプリケーションは永続的なクラスのプライベート方法にアクセスできないことを知っていますが、Hibernateにはこの制限はありません。プライベート、デフォルト、保護、パブリックなど、さまざまなレベルの方法にアクセスできます。 Hibernateはこの関数をどのように実装していますか?答えは、次のようにJavaの反射メカニズムを使用することです。
java.lang.reft.invocationTargetException; Import java.lang.Leflect.Method; public class refrectdemo {public static void main(string [] args)throws {method method = packageclazz.class.getDeclaredMethod( "string.class method.setAccessible(true); Method.Invoke(new PackageClazz()、 "452345234"、 "q31234132");}} class packageclazz {private void hoidmethod(string invokername、string adb){system.out.println( "---"+invokermame+" - "+adb);}出力の結果は次のとおりです。--452345234 --- Q31234132
Javaの反射メカニズムを使用して、プライベート方法でさえ呼び出して使用できることがわかります。しかし、私には質問があります - たとえプライベートな方法を呼び出すことができても、カプセル化のポイントは何ですか?
Javaの別のタイプのプライベートメソッドを呼び出すためにリフレクションを使用する上記の簡単な例は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。