SSCCE:Est-il possible de pointer vers une classe anonyme par mot-clé .THIS?
public class Test {
public Test() {
new Anonymous1() {
void validate() {
new Anonymous2() {
int calculate() {
return Math.abs(Anonymous1.this.getValue()); // compilation error - Anonymous1 is not an enclosing class
}
};
}
};
}
}
abstract class Anonymous1 {
abstract void validate();
int getValue() {
return 0;
}
}
abstract class Anonymous2 {
abstract int calculate();
}
Je sais qu'il semble compliqué et inutilisable, mais je suis tout simplement se demander est-il possible de pointer vers Anonymous1
classe à partir Anonymous2
à l'aide .this
pointeur, ou de quelque façon que d'autre.
@SeniorJD définition de classes non totalement fixes ... –
Le problème est que "Anonymous1" et "Anonymous2" ne sont pas les noms de ces classes internes. 'Anonymous1' et' Anonymous2' sont les * superclasses * de ces classes internes. Vous devez utiliser le nom réel de la classe pour 'Something.this', mais il n'y a pas de nom car ils sont anonymes. – newacct