public class A {
protected int x;
public A(int x) { this.x = x; }
public void g() { System.out.println(x); }
public void h() { System.out.println(x + 10); }
}
public class B {
public void f() {
(new A(2) {
public void g() {
h();
}
}).g();
}
}
public static void main(String[] args) {
new B().f();
}
Peut un corps me aider à comprendre cette ligne dans le code:classes imbriquées les classes anonymes
new A(2) { public void g() {h();} }).g();
Je ne comprends pas s'il définit une classe anonyme ici avec A ?? et comment dans l'anonyme il peut se référer à A.h()?
donc (2) n'est pas ici le nom de la nouvelle classe, il est une classe parente pour la classe non nom ne suppression d'un? corrigez-moi s'il vous plaît – nabil
Un (2) signifie que cette nouvelle classe anonyme est instanciée avec l'argument constructeur 2 à la fois. – jabal