有两个简单程序,他们放在同一目录下: 1. //FileName:Test.java import Show; public class Test { public static void main(String[] args) { Show Sungo = new Show(); Sungo.MyName(); } } 2. //FileName:Show.java public class Show{ public void MyName(){ System.out.println("My name is HelloWorld!"); } } 编译Show.java后,再编译Test.java出现下面的错误提示 ---------- javac ---------- Test.java:3: '.' expected import Show; ^ 1 error
输出完成 (耗时 1 秒) - 正常终止
------------------------------- 将Test.java文件中 import Show;语句注释掉以后,将编译通过,执行java Test.class , ---------- java ---------- My name is HelloWorld!
输出完成 (耗时 0 秒) - 正常终止 ----------------------------
JAVA编译时搜索CLASSPATH.在CLASSPATH中已经设置了“ .;” 即当前目录。编辑器自动寻找当前目录中包含的类,如果存在即执行,而加入了 import Show;实属多此一举,以前以为这样不会有什么问题,也没有看到有书上说明这个存在问题。通过上面的测试,发现不该做的就不要做,徒劳无益。上面的问题是在一个所谓的权威书籍的样例中发现的,也不知道该书作者是否做个测试,或者他用的是另外一个星球的JDK版本。
另package 和import的简单实例 新建dir文件夹,将Show.java 放入该文件夹下编译。 //FileName:Test.java import dir.Show; public class Test { public static void main(String[] args) { Show Sungo = new Show(); Sungo.MyName(); } } //FileName:Show.java package dir; //新增的部分 public class Show{ public void MyName(){ System.out.println("My name is HelloWorld!"); } } 执行结果 ---------- java ---------- My name is HelloWorld!
输出完成 (耗时 0 秒) - 正常终止 ----------------------------

|