有人能帮我解决这个问题么?:
接口是这样的:
public interface Shape
{
public double getArea();
}
一个圆的类执行了这个接口:
public class Circle implements Shape
{
private double radius;
public double getArea()
{
double area = Math.PI*radius*radius;
return area;
}
public double getRadius()
{
return radius;
}
public void setRadius(double r)
{
radius = r;
}
}
那么,假如要写个半圆类继承那个圆的类,来算这个半圆的面积,该怎么写呢?
下面这样?:
public class Semicircle extends Circle implements Shape//这里要写implement Shape么?
{
public double getArea()
{
return Math.PI*radius*radius/2;//我编译时,这里radius不能解析,怎么改啊?
}
}
谢谢。
----------------解决方案--------------------------------------------------------
radius在父类中是private的,不会继承到子类中,这里也不用再写implements Shape
----------------解决方案--------------------------------------------------------
楼上正解!
----------------解决方案--------------------------------------------------------
那改怎么改这个:
public class Semicircle extends Circle
{
public double getArea()
{
return Math.PI*radius*radius/2;
}
}
不改Circle类,只改这个话,怎么改?
----------------解决方案--------------------------------------------------------
public class Semicircle extends Circle {
public double getArea() {
return super.getArea() / 2;
}
}
这样就可以了
----------------解决方案--------------------------------------------------------
public class Semicircle extends Circle
{
double area = getArea();
return area;
}
这样呢?会影响结果么?
----------------解决方案--------------------------------------------------------
你这样根本就不能通过编译啊,语法错误
----------------解决方案--------------------------------------------------------
谢谢了哈~~~~~~~
----------------解决方案--------------------------------------------------------