2017-08-02 179 views
-5

我有这个在我的主类在Java中覆盖toString()方法的Java

public class Main { 

    @Override 
    public String toString(){ 
     return "lol"; 
    } 

    public static void main(String[] args) { 
     int aaa=0; 
     System.out.println(aaa); 
    } 
} 

我希望覆盖含蓄称那toString()方法。 为什么输出为0不是“大声笑”?

+3

'System.out.println(new Main());'会输出'lol'。 – nickb

+2

这里没有Main类的实例。你没有调用toString方法。你得到了一个为int – duffymo

+3

“_why输出为0不是”lol“_”因为你打印了一个整数,而不是你的班级。 – csmckelvey

回答

1

为什么输出为0不是“大声笑”?

,因为你要打印一个整数,而不是那个Main class

的情况下,你可以做以下

public class Main { 

    @Override 
    public String toString(){ 
     return "lol"; 
    } 

    public static void main(String[] args) { 
     // int aaa=0; 
     Main myMain = new Main(); 
     System.out.println(myMain); 
    } 
} 

需要注意的是,你可以做

System.out.println(myMain); 

一样

System.out.println(myMain.toString());