数组试图返回Java中两个对象的面积之和
我试图返回两个物体的面积之和。下面是一个可以实现这一点的程序:
public class TestSumArea
{
public static void main(String [] args)
{
GeometricObject[] a = {
new Circle (2.4),
new Rectangle (3, 5)};
}
public static double sumArea(GeometricObject[] a)
{
double sum = 0;
for (int i = 0; i < a.length; i++)
{
sum += a[i].getArea();
}
return sum;
}
}
我不断地得到cannot find symbol - method getArea()
,我不知道为什么
这是Circle
程序(这个Rectangle
程序的高度和宽度基本相同)
public class Circle extends GeometricObject
{
public double radius;
public Circle (double radius)
{
this.radius = radius;
}
public double getRadius()
{
return radius;
}
public double getArea()
{
return radius * Math.PI;
}
}
感谢您的帮助
# 1 楼答案
# 2 楼答案
您有
GeometricObject[] a
,因此当您调用a[i].getArea()
时getArea()
方法必须在GeometricObject
上,它可以是一个抽象方法,但签名必须在那里# 3 楼答案
您需要
GeometricObject
类或接口来实现或声明getArea
方法,因为您的数组是GeometricObject
类型子类(
Circle
,Rectangle
,等等)可以@Override
使用该方法数组中每个
GeometricObject
的getArea
的具体实现将在运行时解决示例