【发布时间】:2016-01-23 04:37:53
【问题描述】:
我有一个任务,我需要创建一个包含构造函数的抽象类和一个将被子类覆盖的抽象方法。
赋值的目的是以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
}
}
【问题讨论】:
标签: java inheritance constructor abstract super