Nullowe this z nadklasy?

0

Witam forumowiczow.
Bez zbednego gadania od razu wkleje kod i potem opisze w czym rzecz.

public class Test {
    public int a = 5;

    public Test() {
        new Test1(this) {
            public void init() {
                test.a = 4;
                a = 3;
            }
        };
    }

    public static void main(String[] args) {
        new Test();
    }
}

class Test1 {
    public Test test;

    public Test1(Test test) {
        this.test = test;
        init();
    }

    public void init() {
    }
}

W moim mniemaniu kod powinien sie wykonac bez problemu. Jednak tam gdzie jest

a = 3;

dostaje...

java.lang.NullPointerException
	Test$1.init(Test.java:16)
	Test1.<init>(Test.java:32)
	Test$1.<init>(Test.java:12)
	Test.<init>(Test.java:12)
	Test.main(Test.java:23)
Exception in thread "main" 

... czyli Test.this jest nullem (Test.this.a rzuca NPE). Czy to stwierdzony bug w Javie? Ktos sie spotkal z czyms takim? Co ciekawe, jak przypisuje do pola "test" tego samego thisa to wszystko jest ok.

0

no wrzuciłem w eclipse i poszło, żadnego NPE nie wyrzuciło...tylko, że
test.a = 4;i

                a = 3;

odnosi sie do tego samego 'a' a nie do 2 różnych zmiennych...

0

Tak, wiem ze do tego samego.
Ktorej Javy uzywasz? Nie napisalem ze ja to odpalam w 1.4.2_11. Przedziwna sprawa...

0

jdk 1.5, jre 1.6

1 użytkowników online, w tym zalogowanych: 0, gości: 1