Mi chiedevo come una classe annidata lavora in un ciclo for:La classe annidata in ciclo for, ci saranno n istanze della classe?
- sarà l'oggetto della classe essere distrutta dopo ogni iterazione per?
- l'istanza della classe verrà distrutta automaticamente da "garbage"?
- una volta terminato il ciclo for, l'oggetto della classe nidificata rimane in memoria? può essere richiamato da altri posti nel programma?
Questo è il codice:
class Outer {
int outer_x = 100;
void test() {
for(int i=0; i<10; i++) {
class Inner {
void display() {
System.out.println("display: outer_x = " + outer_x);
}
}
Inner inner = new Inner();
inner.display();
}
}
}
class InnerClassDemo {
public static void main(String args[]) {
Outer outer = new Outer();
outer.test();
}
}
Penso, * oggetto della classe * si riferiva all'istanza 'Class' di' Inner'. –
@Andreas_D: Mi sono reso conto che avrebbe potuto volerlo dire e ha esteso la mia risposta. –