2017-10-29 48 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);并且可以运行代码来忽略错误(在这种情况下,它会为您删除无效的代码)。

相关问题