package com.imooc;public abstract class Shape { public abstract void zhouchang(double a,double b); public abstract void zhouchang(double r); public abstract void area(double a,double b); public abstract void area(double r);}package com.imooc;public class Rectangle extends Shape { @Override public void zhouchang(double a, double b) { // TODO Auto-generated method stub double s=2*(a+b); System.out.println("矩形的周长是: "+s); } @Override public void area(double a, double b) { // TODO Auto-generated method stub double s=a*b; System.out.println("矩形的面积是: "+s); }}package com.imooc;public class Circle extends Shape { @Override public void zhouchang(double r) { // TODO Auto-generated method stub double s=2*3.14*r; System.out.println("圆的周长是: "+s);}@Override public void area(double r) { // TODO Auto-generated method stub double s=3.13*r*r; System.out.println("圆的面积是: "+s); }}package com.imooc;public class Initial { public static void main(String[] args) { // TODO Auto-generated method stub Rectangle rec=new Rectangle(); rec.zhouchang(3, 4); rec.area(3, 4); Circle cir=new Circle(); cir.zhouchang(3); cir.area(3);}}
3 回答
白丷露
TA贡献11条经验 获得超3个赞
我把你的代码敲进了Eclipse后,问题很明确了。
你的 Circle类 以及 Rectangle类 继承了 抽象类 Shape,但是,你这两个子类 并没有 重写 抽象类Shape 中的 所有【抽象】方法 ,所以,编译期就会报错。
解决方法,在 两个子类中 重写 基类Shape 中 你没有重写的 其他 抽象方法 即可。
添加回答
举报
0/150
提交
取消