您的位置:首页 > 编程语言 > Java开发

关于JAVA import 的一个小问题

2005-01-12 02:48 561 查看
有两个简单程序,他们放在同一目录下:
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 秒) - 正常终止
----------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息