This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
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

Win a copy of REST with Spring (video course) this week in the Spring forum!
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: 9453

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:
subject: Doubt In Static Memeber...Plz Help Me
jQuery in Action, 3rd edition