Czy zagnieżdżone klasy wewnętrzne ABar i BBar mają dostęp do zmiennych głównej klasy? Na przykład:Zagnieżdżone zagnieżdżone klasy wewnętrzne klasy zewnętrznej zmienne
public class Foo {
public ABar abar = new ABar();
public BBar bbar = new BBar();
public int someCounter = 0;
public class ABar {
public int i = 0;
public void someMethod(){
i++;
someCounter++;
}
}
public class BBar {
public void anotherMethod(){
bbar.someMethod();
someCounter++;
}
}
}
// then called using: //
Foo myFoo = new Foo();
myFoo.bbar.anotherMethod();
Edycja
Wydaje się, że kod wpisany będzie pracował jeśli bym spróbował go wcześniej; starał się uzyskać pomoc, nie będąc zbyt konkretnym. Kod mam rzeczywiście kłopoty z
zawodzi z powodu błędu „Nie można uczynić statycznych odniesienie do niestatyczny etapie pole”
public class Engine {
public Stage stage = new Stage();
// ...
public class Renderer implements GLSurfaceView.Renderer {
// ...
@Override
public void onDrawFrame(GL10 gl) {
stage.alpha++;
}
}
public class Stage extends MovieClip {
public float alpha = 0f;
}
Spróbowałeś? –
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html –
Nie próbowałem tego dokładnie tak, jak napisałem, ponieważ mój projekt jest oparty na Androidzie - ta sama logika, nie działa (nie załączając instancję Foo) 'Foo.this.i ++;' – TerryProbert