Sabemos que os aplicativos Java não podem acessar métodos privados de classes persistentes, mas o Hibernate não tem essa limitação. Ele pode acessar vários níveis de métodos, como privado, inadimplente, protegido, público. Como o Hibernate implementa essa função? A resposta é usar o mecanismo de reflexão de Java, como segue:
importar java.lang.reflect.invocationTargeTexception; importar java.lang.reflect.method; public classe refletedemo {public static void main (string [] args) lança excepção {método = packageclazz.class.getDecLaredMethod ("PrivileGedMethod",, [NOVA CASSULHOT.Class.getDecLaredMethod ("PrivilEgedMethod",, [NOVA CASSULHOT.CLASS.Class.getDecLaredMethod ("PrivilEgedMethod",, [NOVA CASSULHOT.Class.getDecLaredMethod ("PrivileGedMethod",,, a classe; Method.setAccessible (true); Method.inVoke (new PackAGecLazz (), "452345234", "Q31234132");}} classe PackAGecLazz {privilegiado privilegiado privilegiado (String} Name, string adb) {System.out.println;O resultado da saída é: --- 452345234 --- Q31234132
Vemos que, usando o mecanismo de reflexão de Java, mesmo o método privado pode ser chamado e usado. No entanto, tenho uma pergunta - mesmo que o método privado possa ser chamado, qual é o objetivo do encapsulamento?
O exemplo simples acima do uso de reflexão para chamar outro tipo de método privado em Java é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.