我有一个任务,我需要创建一个抽象类,其中包含constructer和一个抽象方法,将被子类覆盖。调用私有变量与抽象方法覆盖
赋值的对象是确定不同多边形的区域,同时使RegularPolygon类成为基类。
当我通过子类扩展调用方法时,它打印出零。我知道问题是变量的范围。基本上我知道我的变量方不是从超类中读取的,因为它的私有性。我不知道如何解决这个问题,而不需要把它从私人变为公共或保护。它需要保持私密。
找到RegularPolygon
public abstract class RegularPolygon
{
private double side;
public RegularPolygon(double length)
{
side = length;
}
public abstract double getArea();
}
广场
public class Square extends RegularPolygon
{
private double side;
public Square(double length)
{
super(length);
}
public double getArea()
{
return side*side; //this returns 0
}
}