关于JAVA import 的一个小问题

类别:Java 点击:0 评论:0 推荐:

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

本文地址:http://com.8s8s.com/it/it11925.htm