테트리스 게임을 만들려고하는데 컴파일러 오류가 발생합니다.
Shape is not an enclosing class
객체를 만들려고 할 때
public class Test {
public static void main(String[] args) {
Shape s = new Shapes.ZShape();
}
}
각 모양에 내부 클래스를 사용하고 있습니다. 내 코드의 일부입니다
public class Shapes {
class AShape {
}
class ZShape {
}
}
내가 무엇을 잘못하고 있지 ?
AShape
하고 ZShape
확장하는 것이 좋습니다 Shapes
. 중첩 클래스는이 문제에 대한 좋은 디자인이 아닙니다.
new Shape().new ZShape();
. 클래스ZShape
를 인스턴스화하려면 엔 클로징 인스턴스가 필요합니다.