0

我在另一个类中声明了一个新的“世界”对象,如下所示:

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];
    }

这是怎么回事?

4

2 回答 2

3

您应该更改构造函数的可见性,以便您可以在其他包中使用它们,它们目前具有包级访问权限。你可以尝试制作它们public

于 2012-12-06T00:33:07.597 回答
1

除非World是 a static inner class,否则您将需要使用:

fray.World world = new fray().new World();
于 2012-12-06T00:34:54.867 回答