1. Crear una clase de persona, escribir algunos métodos
seday18c Package Multa por; / ** * @author Xingsir * crear una clase de persona, escribir unas pocas método * / public class Persona { public void EAT () { System.out.println ( "estoy comiendo"); } public void run ( ) { System.out.println ( "corro"); } // han añadido método privado para el ensayo de vacío privada EAT (String nombre) { System.out.println ( "I" + nombre +", lo comer "); } comer (String nombre public void, int cuenta) { System.out.println (" I "+ nombre +", que estaba comiendo "+ count +" rana toro "); } }
2. Uso de reflexión para invocar un método privado
Paquete seday18c; Importe el java.lang.reflect.Method; / ** * @author Xingsir * utilizando la reflexión para invocar el método privado * / ReflectDemo5 public class { void main (String [] args) throws Exception public static { // estática por Clase método forName de la carga de los persona CLS class = la Class.forName ( "seday18c.Person"); // instanciar un método de objeto objeto cls.newInstance O = (); / * * clase fuera de la encapsulación por reflexión destruye el método de llamada privado Si no es necesario operar o diseñar requisitos, esto no es recomendable. * / Método, m = cls.getDeclaredMethod ( "EAT", String.class); // Establecer la operación de acceso (sin darles una configuración llamada directa) antes de acceder a los métodos privados m.setAccessible (true); m.invoke (O " cerdo "); } }