This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Anonymous inner class

 
Hemant Khandal
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how can we access overriding method foof()?Is there any way to access this?thanks in advance.





[HENRY: Added Code Tags]
 
Henry Wong
author
Marshal
Pie
Posts: 20894
76
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hemant Khandal wrote:how can we access overriding method foof()?Is there any way to access this?thanks in advance.



Not sure of your issue here. By definition, the overriding method (subclass) is always the method that will be called. It is the super class' method (the method that was overridden) that is no longer accessible. And this is true, even if the subclass is an anonymous inner class.

Henry
 
Campbell Ritchie
Sheriff
Posts: 48424
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Do you mean overridden? You can use the super keyword, but only in a non-static context in the subclass.
 
Hemant Khandal
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Now I am talking only above code.I want to call overridden method foof() from main().Is it possible ? If yes then please let me know how can we do this?
It's pleasure for me if you add some line as per situation.
This is only for understanding java concepts.
Thanks in advance.
 
Henry Wong
author
Marshal
Pie
Posts: 20894
76
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hemant Khandal wrote:Now I am talking only above code.I want to call overridden method foof() from main().Is it possible ? If yes then please let me know how can we do this?


From the code, it is *not* possible. The Foo instance is created internal to the go() method. It can't be accessed from the main method.

And this doesn't have anything to do with it being an anonymous inner class, or if the method is overridden or not. The instance is just not accessible to the main method. Period. You will have to modify the go() method to expose it somehow, before the main method can access it.

Henry
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic