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ありstatic inner classます。

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