This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes inner classes Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "inner classes" Watch "inner classes" New topic
Author

inner classes

N Goldsmith
Greenhorn

Joined: May 18, 2004
Posts: 22
Why can't an inner class get at the this ptr for the surrounding class?

class a{
int x;
class b{
x=5;
}
}

If b has access to a's methods and variables, why can't it also get at a's this ptr somehow w/out having to explicitly pass it in to b's constructor?
Matt Fielder
Ranch Hand

Joined: Oct 27, 2004
Posts: 158
...and ptr is code for?...
Jayesh Lalwani
Ranch Hand

Joined: Nov 05, 2004
Posts: 502
ptr = pointer (C++ hacker language)

The answer is because inner class is an object by itself, and "this" refers to the inner class object. Do you need to access methods of your outer class from the inner class? You can always have the outer class pass it's own reference to the inner class
Mike Gershman
Ranch Hand

Joined: Mar 13, 2004
Posts: 1272
try "a.this.x = 5;"

I assume the above statement will be inside a method or non-static initializer of class b. I also assume that "x" is an instance variable, not a local variable.


Mike Gershman
SCJP 1.4, SCWCD in process
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: inner classes
 
Similar Threads
werid output for For loop
Inner classes within inner classes
static, instance, constructor call order
static shamatic
Why method local inner class can't access non final local variable of method?