【发布时间】:2017-05-14 11:08:38
【问题描述】:
package pkg1;
public class demoFile1 {
private int maze = 5;
public demoFile1() {}
public demoFile1 (int maze) {
this.maze = maze;
System.out.println(this.maze);
}
}
package pkg2;
import pkg1.*;
public class demoFile2 {
public static void main (String[] args) {
demoFile1 obj = new demoFile1 (10);
}
}
在这里,我创建了两个包pkg1 和pkg2。在pkg1中,pkg2内部有一个类和另一个类,它导入pkg1来初始化前一个类,因此它需要从pkg1导入.class,这会在尝试调用时产生错误在这个子目录中:
error: package pkg1 does not exist
请注意,当demoFile2.class 从该子目录外部(不同级别,没有限制在pkg2 下)导入pkg1.demoFile1.class 文件时,程序运行良好,但是当这两个包都在同一级别,每个都有源代码文件和.class 文件,即当pkg2.demoFile2.class 尝试导入pkg1.demoFile1.class 时
Edit#1:文件夹结构: click here
我的感觉是,在从包中创建或导入 .class 文件时,分层排序/优先级可能存在一些问题,或者整体定义写错了。请帮忙。
【问题讨论】:
-
你在做什么的时候得到那个错误?尽可能精确。并发布文件夹/文件结构。
-
我已经创建了您解释的相同场景。它工作正常。你是用 eclipse 还是其他工具来编码。
-
什么意思?我测试了上面的代码,编译执行成功。
-
我想 OP 在尝试从
src/pkg2中编译程序时会出现错误。如果是这样,请尝试从src编译或指定..作为源路径。 -
上传了文件夹结构,不知道为什么他们嵌入链接而不是实际图像
标签: java packages java-package