问题:
对于同一个保存在记事本中的程序,如下:
import java.net.*;
public class getLocalHostTest
{ public static void main(String args[])
{ InetAddress myIP=null;
try {myIP=InetAddress.getLocalHost();}
catch(UnknownHostException e){ }
System.out.println(myIP);
}
}
把其保存在记事本中,在命令行下,进行编译时,报错,显示:
“getLocalHostTest是公共的,应在名为:getLocalHostTest.java的文件夹中声明”
而把放在Myeclipse中,新建一个工程的情况下,能够正常运行,且能显示出运行结果。
这是什么原因???
是不是这个原因:
文件名写错了吧,文件名应该是和你的类名一样的,叫Testjava.java
为什么当文件写错时,Javac编译器会报错???
其内部是怎样的一种处理机制???
当我把记事本的文件名改为:getLocalHostTest 时,这时,
输入:Java getLocalHostTest 可以正常运行。
由此,我判断,就是因为,文件名和类名不同所产生的错误。