4-4的编程写完了,但是运行各种错误
//测试类
public class Test {
public static void main(String[] args) {
//创建类的实例,并分别对圆的半径和矩形的长宽进行赋值
Circle circle=new Circle(3.5);
Rectangle rectangle=new Rectangle(6,5);
//调用area()方法,输出结果
System.out.println(circle.area());
System.out.println(rectangle.area());
}
}
//子类
public class Rectangle extends Shape {
//属性:矩形的长lenghth、宽wide
private double length;
private double wide;
//创建带参构造方法以及无参构造方法
public Rectangle(){
}
public Rectangle(double length,double wide){
this.setLength(length);
this.setWide(wide);
}
//创建针对长、宽的赋值和取值方法
public void setLength(double length){
this.length=length;
}
public double getLength(){
return this.length;
}
public void setWide(double wide){
this.wide=wide;
}
public double getWide(){
return this.wide;
}
//重写父类的area()方法
public double area(){
double m=this.getLength()*this.getWide();
return m;
}
}
//子类圆Circle类
public class Circle extends Shape {
//属性:圆的半径r
private double r;
//创建带参构造方法以及无参构造方法
public Circle(double r){
this.setR(r);
}
//创建针对半径的赋值和取值方法
public void setR(double r){
this.r=r;
}
public double getR(){
return this.r;
}
//重写父类中area()方法
public double area(){
double n=3.14*r*r;
return n;
}
}
//父类
//抽象类Shape,里面含抽象方法area( )
abstract class Shape{
public abstract void area();
}
老师,我按照要求写了,但是运行报错。。。。。
正在回答
同学你好,对于方法重写的定义中,子类的返回值可以是父类返回值的子类, 比如,父类的返回值是Animal,子类重写的时候,返回值可以是Cat,但是void和double没有任何继承关系哦!
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程




恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星