囲みクラスではありません Java 質問する

囲みクラスではありません Java 質問する

テトリスゲームを作ろうとしているのですが、オブジェクトを作成しようとするとコンパイラエラーが発生します。

シェイプは囲みクラスではない

public class Test {
    public static void main(String[] args) {
        Shape s = new Shapes.ZShape();
    }
}

私は各図形に内部クラスを使用しています。これが私のコードの一部です

public class Shapes {
    class AShape {
    }
    class ZShape {
    }
}

何が間違っているのでしょうか?

ベストアンサー1

ZShape静的ではないため、外部クラスのインスタンスが必要です。

最も簡単な解決策は、static可能であれば ZShape とネストされたクラスを作成することです。

私も、あなたができるfinalあらゆるフィールドを作成します。static final

おすすめ記事