有两个简单程序,他们放在同一目录下:
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 秒) - 正常终止
----------------------------