In Java, la classe interna può accedere ai membri privati della classe che li include. Ma la classe esterna può accedere ai membri privati della classe interiore? Questo è indipendentemente dal fatto che la classe interiore sia statica o meno. Ho pensato che questo non è vero ma il seguente codice sembra compilare e funzionare bene.Nelle classi nidificate di Java, la classe che acclude può accedere ai membri privati delle classi interne?
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;
}
}
Sembra come previsto per me. Tranne te intendi dire
oi.i = 10;
sì? – BenDuplicato: http://stackoverflow.com/questions/1801718/outer-java-class-isable-to-access-inner-class-private-members – finnw
Non capisco. Il codice è proprio qui. Conosco l'uscita. So che funziona. Volevo capire il ragionamento che ci sta dietro. Pensi che questa domanda non meriti una risposta? – user236215