2017-10-29 95 views
0

我正在瀏覽一些基本的Java概念。我正在調查方法並試圖驗證此錯誤Eclipse運行程序,當通過命令提示符運行時,它也不起作用

"MethodSignature.java:10: error: method m1(String) is already defined in class MethodSignature 
     public static void m1(String s)" 

從命令提示符運行時出現上述錯誤。但是在eclipse中運行時,雖然它顯示錯誤,但程序會打印所需的字符串。在命令提示符下,我沒有收到上述錯誤。

爲什麼在Eclipse和命令提示符執行有區別嗎?

正如在命令提示符下,我不能夠運行程序本身,因爲這個錯誤應該阻止我。我期待Eclipse中的一樣。

這是我簡單的程序。

public static void m1(String s) 
{ 
    System.out.println(s); 
} 

public static void m1(String s) 
{ 
    System.out.println(s); 
} 


public static void main(String[] args) 
{  
    m1("call one"); 

    m1("call two"); 



} 
+0

閱讀https://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and-the-eclipse-compiler爲您提供關於你的問題的更多細節。 –

+0

謝謝@NavneetRabadiya –

回答

0

您必須運行一個以前編譯的類,你不能聲明m1兩次。然而,eclipse確實有它自己的編譯器(ecj);並且可以運行代碼來忽略錯誤(在這種情況下,它會爲您刪除無效的代碼)。

相關問題