第1题答案,请老师点评,谢谢。
来源:12-12 测评作业

慕码人5147775
2025-02-23
原题错在:重写的方法不应该接受任何参数,因为父类中的calArea方法没有参数,通过在子类增加一个带参构造方法,解决传参问题。修改后的三个类的代码如下:
ShapeArea类代码:
package com.imooc.test02.test01;
/**
* 抽象类
*/
public abstract class ShapeArea {
// 计算图形面积
public abstract double calcArea();
}
CircleArea类代码:
package com.imooc.test02.test01;
/**
* 圆形
*/
public class CircleArea extends ShapeArea {
private double r;
// 无参构造函数
public CircleArea() {
}
// 增加一个带参构造函数,解决带参半径传递问题
public CircleArea(double r) {
this.r = r;
}
// 原题错在:重写的方法不应该接受任何参数,因为父类中的calArea方法没有参数
/*@Override
public double calcArea(double r) {
double area = 3.14 * r * r;
return area;
}*/
// 正确的写法:计算面积,不能传递参数,因为父类的calcArea方法没有参数,用带参构造函数解决传递参数问题
@Override
public double calcArea() {
double area = 3.14 * r * r;
return area;
}
}
CircleAreaTest类代码:
package com.imooc.test02.test01;
public class CircleAreaTest {
public static void main(String[] args) {
CircleArea ca = new CircleArea(5);
System.out.println("圆的面积为:" + ca.calcArea());
}
}
写回答
1回答
-
彭彭老师
2025-02-24
是的,理解正确
00
相似问题