我在如何在主程序中声明子类时遇到麻烦。

我有一个名为Shapes的抽象超类,以及4个子类(Rectangle,Triangle,Circle,Square);

我知道如果我想使用超类,我会创建一个新变量:

private Shapes shapes;


然后,将变量分配给superClass:

shapes = new Shapes();


我可以声明这样的子类:

private Shapes square;
//
square = new Square();//Square is a sub-class of Shapes.


请帮助。

最佳答案

您不是在声明上面的类,而是在创建指针和实例化对象。您实际上需要像这样使用class关键字:

public class Shape {
}


当您创建子类时,它将是

public class Square extends Shape {
}


例如,如果您在其主对象中创建对象,则它可能类似于:

Shape s = new Square();


要么

Square square = new Square();


但这只是创建对象而不是类的方式。

07-24 18:21
查看更多