关于import 导入.*出错的问题

agate_hao 2007-02-16 11:29:19
这里是TestPackageOne类的代码
----------------------------------------------------
package cn.letiteasy.testPackage;

public class TestPackageOne {
public void show() {
System.out.println("HelloWorld!");
}
}
----------------------------------------------------
这里是TestPackageFour类的代码
----------------------------------------------------
import cn.letiteasy.testPackage.*;

public class TestPackageFour {
public static void main (String args[]) {
TestPackageOne a = new TestPackageOne();
a.show();
}
}
----------------------------------------------------
我先把TestPackageOne.class放到了对应的目录下了
现在我的文件结构是
root\
root\TestPackageOne.java
root\TestPackageFour.java
root\cn\letiteasy\testPackage\TestPackageOne.class
但是我编译TestPackageFour.java的时候出现如下错误:
----------------------------------------------------
错误的类文件: d:\java\class\TestPackageOne.java
文件不包含类 TestPackageOne
请删除该文件或确保该文件位于正确的类路径子目录中。
TestPackageOne a = new TestPackageOne();
^
1 错误
----------------------------------------------------
但是要是我把 TestPackageFour.java 中的
import cn.letiteasy.testPackage.*;
改成
import cn.letiteasy.testPackage.TestPackageOne;
就可以通过了
请大侠指点迷津啊~
...全文
561 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
agate_hao 2007-02-16
  • 打赏
  • 举报
回复
噢噢噢!!!

好的~谢谢了,反正以后记得这么做就是了~
interpb 2007-02-16
  • 打赏
  • 举报
回复
这是java 虚拟机 查找类的机制

你想深入的了解

下载 深入java 虚拟机 这本书看看
agate_hao 2007-02-16
  • 打赏
  • 举报
回复
恩……奇怪了~
首先非常感谢你的回答,我的问题也解决了
但是我想问一下,为什么要编译这个root\TestPackageOne.java源文件呢?
想进一步了解
引用:
“因为在编译的时候会优先找到这个个java文件 编译 然后因为这个没有包结构”
这句话的意思^^
interpb 2007-02-16
  • 打赏
  • 举报
回复
把 root\TestPackageOne.java 这个java文件放到 别的目录下就可以了

因为在编译的时候会优先找到这个个java文件 编译 然后因为这个没有包结构 所以报错

import cn.letiteasy.testPackage.TestPackageOne; 指明了是包里面的类

所以不会编译这个java文件

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧