jQuery in Action, 3rd edition
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Doubt In Static Memeber...Plz Help Me Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Doubt In Static Memeber...Plz Help Me" Watch "Doubt In Static Memeber...Plz Help Me" New topic

Doubt In Static Memeber...Plz Help Me

Thangaraj Selvamani
Ranch Hand

Joined: Sep 20, 2008
Posts: 61
Why non-static Inner class cannot have static members but
Non-static inner classes can contain final static fields.
Ankit Garg

Joined: Aug 03, 2008
Posts: 9465

Well thangaraj this is because non-static inner class is always associated with an enclosing class instance. So practically it's members should be inaccessible to any code directly without creating an instance of enclosing class. but if non-static inner class is allowed to have static members, then you can do this

but in case of static constants, the constant value is replaced by the compiler with the actual value of the constant

the System.out.println(Outer.Inner.i); will become System.out.println(10);

I think this is the reason, let's see what others have to say...

SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
I agree. Here's the link: http://aspose.com/file-tools
subject: Doubt In Static Memeber...Plz Help Me
It's not a secret anymore!