¿Es posible que las clases internas anidadas ABar y BBar accedan a las variables de la clase principal? Por ejemplo:variables de clases externas de clase interna anidadas en Java
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();
Editar
Parece que el código que he escrito hubiera funcionado si hubiera intentado en primer lugar; estaba tratando de obtener ayuda sin ser demasiado específico. El código realidad estoy teniendo problemas con
se produce un error debido al error 'no se puede hacer referencia estática a la fase de campo no estático'
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;
}
¿Lo intentó? –
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html –
No lo he probado exactamente como mecanografiado, porque mi proyecto está basado en Android, la misma lógica, no funciona (no adjuntando la instancia de Foo) 'Foo.this.i ++;' – TerryProbert