运行能出结果 但是编译是有问题 各位大神看看

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

}

}


qq_橙子_33
浏览 1592回答 3
3回答

白丷露

我把你的代码敲进了Eclipse后,问题很明确了。你的 Circle类 以及 Rectangle类 继承了 抽象类 Shape,但是,你这两个子类 并没有 重写 抽象类Shape 中的 所有【抽象】方法 ,所以,编译期就会报错。解决方法,在 两个子类中 重写 基类Shape 中 你没有重写的 其他 抽象方法  即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java