wood burning stoves 2.0
The moose likes Ranch Office and the fly likes Inner Class Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » This Site » Ranch Office
Bookmark "Inner Class" Watch "Inner Class" New topic

Inner Class

Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
I found this code in the Getting in Touch with your Inner Class
tutorial on this site, but I think you cannot create an inner class object as specified in the code
Inner i = o.new Inner();
Shouldn't it be
Outer.Inner i = o.new Inner();

class Outer
private int size ;
private String thoughts = "My outer thoughts";
class Inner
String innerThoughts = "My inner thoughts";
void doStuff()
// inner object has its own "this"
System.out.println( innerThoughts );
// and it also has a kind of "outer this"
// even for private data of outer class
class TestMe
public static void main( String args[] )
// instantiate me, the outer object
Outer o = new Outer();
// Inner i = new Inner();
// NO! Can't instantiate Inner by itself!
Inner i = o.new Inner();
// now I have my special inner object
// OK to call methods on inner object
Jim Yingst

Joined: Jan 30, 2000
Posts: 18671
You're right - good catch. I'm moving this to the "Java Ranch" topic to be sure Paul sees it, as he's the one who could fix the error. (Hi Paul!) Thanks.

"I'm not back." - Bill Harding, Twister
I agree. Here's the link: http://aspose.com/file-tools
subject: Inner Class
It's not a secret anymore!