我在另一个类中声明了一个新的“世界”对象:
fray.World world = new fray.World();
java编译器抱怨它无法找到构造函数(对fray
包中类的位置没问题。)
我在fray.World类中有以下构造函数:
World() {
this(100, 100, 100);
}
World(int width) {
this(width, 100, 100);
}
World(int width, int length) {
this(width, length, 100);
}
World(int width, int length, int height) {
this.x = new int[width];
this.y = new int[length];
this.z = new int[height];
this.entities = new Entity[0];
}
发生了什么事?
答案 0 :(得分:3)
您应该更改构造函数的可见性,以便可以在其他包中使用它们,它们目前具有包级访问权限。您可以尝试制作public
。
答案 1 :(得分:1)
除非World
是static inner class
,否则您需要使用:
fray.World world = new fray().new World();