It's not a secret anymore!
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 OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 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: 149

Output is : test

Can anyone explain me the what is happening in these lines

Winston Gutkowski

Joined: Mar 17, 2011
Posts: 8661

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
It's not a secret anymore!