当前位置: 代码迷 >> Java相关 >> 关于接口 和 继承问题。。。
  详细解决方案

关于接口 和 继承问题。。。

热度:231   发布时间:2006-06-22 20:56:38.0
关于接口 和 继承问题。。。

有人能帮我解决这个问题么?:
接口是这样的:

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;
}

这样呢?会影响结果么?


----------------解决方案--------------------------------------------------------
你这样根本就不能通过编译啊,语法错误
----------------解决方案--------------------------------------------------------

谢谢了哈~~~~~~~


----------------解决方案--------------------------------------------------------
  相关解决方案