This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes doubt in interface Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "doubt in interface" Watch "doubt in interface" New topic

doubt in interface

shivang sarawagi
Ranch Hand

Joined: Jun 19, 2008
Posts: 147

Output is : test

Can anyone explain me the what is happening in these lines

Winston Gutkowski

Joined: Mar 17, 2011
Posts: 7552

shivang sarawagi wrote:Can anyone explain me the what is happening in these lines

Welcome to anonymous classes.

When you have problems like this, it's usually good to work from the inside out. In your particular case, the "inside" is:and what that does its to create an instance of an 'anonymous' (ie, unnamed) class that implements TestA. In order to do that, it has to implement its toString() method, which in this case returns "test".

Moving out, you have System.out.println(), and if you look at its documentation, you'll see that it calls String.valueOf(), which in turn calls the object's toString() method.

And voilĂ : your program prints out "test".


Isn't it funny how there's always time and money enough to do it WRONG?
Articles by Winston can be found here
I agree. Here's the link:
subject: doubt in interface
Similar Threads
Regarding interface
constructor question
Interface accepting instance
toString is overrides Object Class or TestA
Calling interface ?