Bonjour, je voudrais savoir si ces deux classes sont strictement équivalentes. Peu importe qui est B ou C, c'est juste pour savoir si on peut remplacer le A a = this couplé au a.doIt() par un A.this.doIt().
Mon but est de nettoyer un peu le 1er code en le remplacant par le second, sans changer son comportement bien sur
Code :
- public class A {
- public A a = this ;
- public void method() {
- B.add( new C() {
- public void do() {
- a.doIt();
- }
- } );
- }
- public void doIt() {}
- }
|
Code :
- public class A {
- public void method() {
- B.add( new C() {
- public void do() {
- A.this.doIt();
- }
- } );
- }
- public void doIt() {}
- }
|
Merci pour vos avis
Message édité par cymp le 01-12-2005 à 10:52:49