Ho incontrato la seguente domanda in Java, come inizializzare un'istanza della classe interna se la classe interna è dichiarata nel metodo della classe esterna? Ho incontrato un errore di compilazione nel seguente caso. Grazie molto.Come inizializzare un'istanza della classe interna se la classe interna è dichiarata nel metodo della classe esterna?
class Outer {
public int a = 1;
private int b = 2;
public void method(final int c){
int d = 3;
class Inner{
private void iMethod(int e){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("e = " + e);
}
}
}
public static void main (String[] args){
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();// there is an compile error here
}
}
Le classi locali del metodo possono essere utilizzate solo in tale metodo. –