Click to See Complete Forum and Search --> : Java - innerclass scope issue


nanode
04-26-2001, 04:51 PM
I have something like this:

[code]
public class MyClass {

public int counter=0;
//... lots more code in real life
MyInnerClass mic0 = new MyInnerClass();
MyInnerClass mic1 = new MyInnerClass();
MyInnerClass mic2 = new MyInnerClass();

private class MyInnerClass {

public MyInnerClass() {
}
/*how can I access "counter" from inside the inner class? I can't simply pass it, since I need to update its value. If I was using C/C++ I'd use a pointer here
any thoughts?
*/
}
}

cotfessi
04-27-2001, 10:01 AM
public class EnclosingClass
{
public class MemberClass
{
public void innerMethod()
{
'this' - refers to the instance of EnclosingClass.MemberClass
'EnclosingClass.this' - refers to an instance of EnclosingClass
'super' - refers to the superclass of member class(java.lang.Object in this case)
'EnclosingClass.super' - refers to the superclass of Enclosing class(java.lang.Object in this case)

}
}
}



try using the following if you want to access the counter object from within the inner class:
MyClass.this.counter = 9;

nanode
04-27-2001, 12:03 PM
Thanks.

That and this works too:

this.MyClass.counter