26 lines
707 B
Java
26 lines
707 B
Java
import java.lang.reflect.Field;
|
|
|
|
public class AcessaPrivado {
|
|
|
|
public static void main(String[] args) {
|
|
ObjetoSecreto oSecreto = new ObjetoSecreto("senha super secreta");
|
|
Field campoPrivado = null;
|
|
try {
|
|
campoPrivado = ObjetoSecreto.class.getDeclaredField("escondido");
|
|
}
|
|
catch (NoSuchFieldException e) {
|
|
System.err.println(e);
|
|
System.exit(1);
|
|
}
|
|
campoPrivado.setAccessible(true); // arrombamos a porta
|
|
try {
|
|
String tavaEscondido = (String) campoPrivado.get(oSecreto);
|
|
System.out.println("oSecreto.escondido = " + tavaEscondido);
|
|
}
|
|
catch (IllegalAccessException e) {
|
|
// esta exceção nao acontece porque fizemos setAcessible(true)
|
|
System.err.println(e);
|
|
}
|
|
}
|
|
}
|