为了账号安全,请及时绑定邮箱和手机立即绑定

课后练习题

//定义一个抽象父类

public abstract class Shape {

    public double C;     //定义周长

    public double S;     //定义面积

    public double a = 10;     //定义矩形的长

    public double b = 5;     //定义矩形的宽

    public double r = 5;     //定义圆形的半径

    public double PI = 3.14;     //定义圆周率

    public  abstract void Perimeter();     //定义一个求周长的抽象方法

    public  abstract void Area();     //定义一个求面积的抽象方法

}

-------------------------------------------------------------------------------------------------------------------------------------

//定义一个矩形子类

public class Rectangle extends Shape{

    public void Perimeter(){

        C = 2 * (a + b);     //求矩形的周长

        System.out.println("矩形的周长为:"+C);

    }

    public void Area(){

        S = a * b;     //求矩形的面积

        System.out.println("矩形的面积为:"+S);

    }

}

---------------------------------------------------------------------------------------------------------------------------------------

//定义一个圆形子类

public class Circle extends Shape{

    public void Perimeter(){

        C = 2 * PI * r;     //求圆形的周长

        System.out.println("圆形的周长为:"+C);

    }

    public void Area(){

        S = PI * (r * r);     //求圆形的面积

        System.out.println("圆形的面积为:"+S);

    }

}

---------------------------------------------------------------------------------------------------------------------------------------

//运行

    public static void main(String[] args){

        //对象的引用

        Shape rectangle = new Rectangle();

        Shape circle = new Circle();

        rectangle.Perimeter();

        rectangle.Area();

        circle.Perimeter();

        circle.Area();

    }


正在回答

3 回答

其实你的代码里有一个很大的问题,跟矩形和圆各自有关的属性应该放到各自子类中而不是在共有抽象类中

0 回复 有任何疑惑可以回复我~

他是抽象的 可以在main里面重新创建访问对象 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

课后练习题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信