Java(1)创建一个Animal动物类:类中定义eat()方法,该方法输出“吃东西”(2)创建一个接口Fliable,接口中定义抽象方法fly()(3)创建一个Bird类,继承Animal类并实现接口Fliable,要求:fly()方法输出“鸟儿飞翔”;重写eat()方法,输出“鸟儿吃虫”(4)创建测试类Test:利用向上转型(上溯造型)创建Bird类对象bird,调用eat()方法;然后向下转型,调用eat()和fly()方法
时间: 2024-02-25 11:53:25 浏览: 394
构造方法重载-3. 尚硅谷_佟刚_Java面向对象
好的,我来解答你的问题。
以下是代码实现:
```java
// Animal类
class Animal {
public void eat() {
System.out.println("吃东西");
}
}
// Fliable接口
interface Fliable {
void fly();
}
// Bird类
class Bird extends Animal implements Fliable {
public void fly() {
System.out.println("鸟儿飞翔");
}
public void eat() {
System.out.println("鸟儿吃虫");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Animal bird = new Bird(); // 向上转型创建Bird类对象
bird.eat(); // 调用eat()方法
Bird realBird = (Bird) bird; // 向下转型
realBird.eat(); // 调用eat()方法
realBird.fly(); // 调用fly()方法
}
}
```
运行结果:
```
鸟儿吃虫
鸟儿吃虫
鸟儿飞翔
```
注意:向上转型(上溯造型)是将子类对象转换为父类对象,这样可以实现多态,但是不能调用子类特有的方法和属性;向下转型是将父类对象转换为子类对象,但是必须先进行向上转型,否则会出现编译错误。
阅读全文