Win a copy of Mesos in Action this week in the Cloud/Virtualizaton 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: 21117
78
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
Pie
Posts: 48956
60
  • 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: 21117
78
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