(1)创建一个Animal动物类:类中定义eat()方法,该方法输出“吃东西” (2)创建一个接口Fliable,接口中定义抽象方法fly() (3)创建一个Bird类,继承Animal类并实现接口Fliable,要求:fly()方法输出“鸟儿飞翔”;重写eat()方法,输出“鸟儿吃虫” (4)创建测试类Test:利用向上转型(上溯造型)创建Bird类对象bird,调用eat()方法;然后向下转型,调用eat()和fly()方法
时间: 2024-02-23 08:57:52 浏览: 29
好的,我来回答你的问题。
首先,让我确认一下,您的问题是如何创建Animal、Fliable和Bird类,并在Test类中利用向上转型和向下转型创建Bird类对象并调用方法,对吗?
如果是的话,我来给你讲解一下。
首先,我们需要创建一个Animal类,代码如下:
```
public class Animal {
public void eat() {
System.out.println("吃东西");
}
}
```
这是一个简单的Animal类,其中定义了一个eat()方法,输出“吃东西”。
接下来,我们需要创建一个Fliable接口,代码如下:
```
public interface Fliable {
void fly();
}
```
这是一个接口,其中定义了一个抽象方法fly()。
接着,我们需要创建一个Bird类,继承Animal类并实现Fliable接口,代码如下:
```
public class Bird extends Animal implements Fliable {
@Override
public void fly() {
System.out.println("鸟儿飞翔");
}
@Override
public void eat() {
System.out.println("鸟儿吃虫");
}
}
```
这个Bird类继承了Animal类,并实现了Fliable接口。其中,重写了eat()方法,输出“鸟儿吃虫”,并实现了fly()方法,输出“鸟儿飞翔”。
最后,我们需要创建一个Test类,测试向上转型和向下转型,代码如下:
```
public class Test {
public static void main(String[] args) {
Animal bird = new Bird(); // 向上转型
bird.eat();
Bird bird2 = (Bird) bird; // 向下转型
bird2.eat();
bird2.fly();
}
}
```
在Test类中,我们首先创建了一个Bird类对象,然后执行向上转型,将其转换为Animal类型,并调用eat()方法。接着,我们又执行了向下转型,将其转换为Bird类型,并调用eat()和fly()方法。
输出结果为:
```
鸟儿吃虫
鸟儿吃虫
鸟儿飞翔
```
这样就实现了创建Animal、Fliable和Bird类,并在Test类中利用向上转型和向下转型创建Bird类对象并调用方法。