老师我想请问一下接口类型引用子类对象是啥意思
//测试类
public class Test {
public static void main(String[] args) {
//对象实例化
IFly fb = new Balloon();
IFly fb1 = new Bird();
IFly fp = new Plane();
//分别调用fly()方法
fp.fly();
fb1.fly();
fb.fly();
}
}
//创建类Balloon并实现接口IFly
public class Balloon implements IFly {
//重写方法fly()
public void fly(){
System.out.println("气球飞上天空");
}
}
//创建类Bird并实现接口IFly
public class Bird implements IFly {
//重写fly()方法
public void fly(){
System.out.println("小鸟在天空翱翔");
}
}
//创建类Plane并实现接口IFly
public class Plane implements IFly {
//重写fly方法
public void fly(){
System.out.println("飞机在天上飞");
}
}
//定义接口IFly
public interface IFly{
//创建方法fly()
public void fly();
}3
收起
正在回答
2回答
同学你好,这里举一个例子。
Singer中可以定义一个唱歌的接口。人,鹦鹉都可以唱歌,那么人(Person)和鹦鹉(Parrot)的对象可以实现Sing的接口。
因为人和鹦鹉唱歌是有区别的。
所以当
Singer singer = new Person(); singer .sing();
这个时候就是调用人唱歌的sing方法。
当
Person singer = new Parrot(); singer .sing();
这个时候就是调用鹦鹉的唱歌的sing方法。
这时,不用具体到人,鹦鹉的对象,使用singer就能直接调用。
其实这就是java的继承,多态的一个用法。利于程序扩展。理解这种设计方式,会写出更易维护,简洁的代码。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星