java定义一个抽象类AbsAnimal,要求如下 (1)包括属性name,weight,color; (2)定义其有参构造方法 (3)定义受保护的run方法,功能是打印输出"Animal run fastly"; (4)在main方法里实例化抽象对象a AbsAnimal a = new AbsAnimal( 想想为什么会报错?如果报错注释掉该语句。
时间: 2024-02-27 22:53:00 浏览: 54
以下是符合要求的代码:
```java
public abstract class AbsAnimal {
protected String name;
protected double weight;
protected String color;
public AbsAnimal(String name, double weight, String color) {
this.name = name;
this.weight = weight;
this.color = color;
}
protected void run() {
System.out.println("Animal run fastly");
}
}
public class Main {
public static void main(String[] args) {
// 实例化抽象对象a,会报错,因为抽象类不能被实例化
AbsAnimal a = new AbsAnimal("Tom", 20.5, "brown");
}
}
```
在这段代码中,我们定义了一个名为`AbsAnimal`的抽象类,其中包括了`name`、`weight`和`color`三个属性,以及一个有参构造方法。我们还定义了一个受保护的`run`方法,其功能是打印输出"Animal run fastly"。
在`Main`类中,我们试图实例化一个抽象对象`a`,但会报错,因为抽象类不能被实例化。
阅读全文