(1)请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。 (2)创建一个接口A,接口里有一个抽象方法fly()。 (3)创建一个Bird类定义名字name属性,并新建给name属性赋值的构造方法,继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。 (4)在Test类中向上转型创建Bird对象,调用eat方法。然后向下转型调用eat()方法、fly()方法。 (5)创建ArrayList集合存5个Bird类的对象,并使用迭代器和foreach循环输出5个Bird对象的名字信息。
时间: 2023-12-29 17:06:05 浏览: 183
代码如下:
Animal类:
```java
public class Animal {
public void eat() {
System.out.println("吃东西");
}
}
```
接口A:
```java
public interface A {
void fly();
}
```
Bird类:
```java
public class Bird extends Animal implements A {
private String name;
public Bird(String name) {
this.name = name;
}
@Override
public void fly() {
System.out.println("鸟儿飞翔");
}
@Override
public void eat() {
System.out.println("鸟儿吃虫");
}
}
```
Test类:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
Animal bird = new Bird("小鸟");
bird.eat();
if (bird instanceof Bird) {
Bird b = (Bird) bird;
b.eat();
b.fly();
}
ArrayList<Bird> list = new ArrayList<>();
list.add(new Bird("麻雀"));
list.add(new Bird("喜鹊"));
list.add(new Bird("燕子"));
list.add(new Bird("乌鸦"));
list.add(new Bird("鸽子"));
Iterator<Bird> it = list.iterator();
while (it.hasNext()) {
Bird b = it.next();
System.out.println(b.name);
}
for (Bird b : list) {
System.out.println(b.name);
}
}
}
```
运行结果:
```
吃东西
鸟儿吃虫
鸟儿飞翔
麻雀
喜鹊
燕子
乌鸦
鸽子
麻雀
喜鹊
燕子
乌鸦
鸽子
```
阅读全文