Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Inner classes

 
Sam Samson
Ranch Hand
Posts: 63
IntelliJ IDE Java jQuery
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi



This will print out "inner". But why? Why not "outer"? Will the inner class always be chosen over the outer?
If I comment the inner class, the outer will be chosen.
 
dennis deems
Ranch Hand
Posts: 808
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In much the same way that a method local variable can shadow a class level variable with the same name, the class A is shadowed by the class TestInners.A.
 
Sam Samson
Ranch Hand
Posts: 63
IntelliJ IDE Java jQuery
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ah, ok, that make sense, thanks :-)

But I couldn't find examples for 'shadowing a class' via Google. Are you sure that this is called shadowing?
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes. Shadowing a class is a relatively rare thing - but the concept of shadowing in Java can apply to most anything with a name, including variables, methods, and classes.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic