En Java, la clase interna puede acceder a miembros privados de la clase adjunta. ¿Pero puede la clase externa acceder a miembros privados de la clase interna? Esto es independientemente de si la clase interna es estática o no. Pensé que esto no era cierto, pero el siguiente código parece compilar y funciona bien.En clases anidadas de Java, ¿puede la clase adjunta acceder a miembros privados de clases internas?
public class Outer {
class Inner {
private int i = 0;
private Inner() {}
}
public static void main(String[] args) {
Outer o = new Outer();
Outer.Inner oi = o.new Inner();
oi.i = 10;
}
}
Parece como esperaba para mí. Excepto que te refieres a
oi.i = 10;
¿sí? – BenDuplicado: http://stackoverflow.com/questions/1801718/outer-java-class-isable-to-access-inner-class-private-members – finnw
No entiendo. El código está aquí. Sé la salida. Sé que funciona Quería entender el razonamiento detrás de esto. ¿Crees que esta pregunta no merece una respuesta? – user236215