2017-08-02 121 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());