Java,定义一个抽象类AbsAnimal,要求如下(1)包括属性name,weight,color;(2)定义其有参构造方法;(3)定义受保护的run方法,功能是打印输出"Animal run fastly";(4)在main方法里实例化抽象对象aAbsAnimal a = new AbsAnimal(….) ,想一想为什么会报错?如果报错注释掉该语句。4.定义一个类Tiger继承抽象类AbsAnimal,要求如下(1)在main方法中实例化一个Tiger对象(2)调用run方法,查看输出结果
时间: 2024-02-27 21:56:31 浏览: 106
以下是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 static void main(String[] args) {
// 实例化抽象对象会报错,因为抽象类无法被实例化
// AbsAnimal a = new AbsAnimal("name", 10.0, "color");
// 实例化一个Tiger对象
Tiger tiger = new Tiger("Tony", 200.0, "orange");
// 调用run方法
tiger.run();
}
}
class Tiger extends AbsAnimal {
public Tiger(String name, double weight, String color) {
super(name, weight, color);
}
}
```
解释一下代码:
- `AbsAnimal` 是一个抽象类,包括属性 `name`,`weight`,`color`,有参构造方法和受保护的 `run` 方法。
- `run` 方法输出 "Animal run fastly"。
- `main` 方法中注释掉了实例化抽象对象的语句,因为抽象类无法被实例化。
- `Tiger` 继承 `AbsAnimal`,实现其抽象方法,并在 `main` 方法中实例化 `Tiger` 对象并调用其 `run` 方法。
当运行程序时,会输出 "Animal run fastly"。
阅读全文