老师我想请问一下接口类型引用子类对象是啥意思

老师我想请问一下接口类型引用子类对象是啥意思

//测试类
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();
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这里举一个例子。


Singer中可以定义一个唱歌的接口。人,鹦鹉都可以唱歌,那么人(Person)和鹦鹉(Parrot)的对象可以实现Sing的接口。

因为人和鹦鹉唱歌是有区别的。


所以当 

Singer singer = new Person(); 
singer .sing();

这个时候就是调用人唱歌的sing方法。


当 

Person singer = new Parrot(); 
singer .sing();

这个时候就是调用鹦鹉的唱歌的sing方法。


这时,不用具体到人,鹦鹉的对象,使用singer就能直接调用。

其实这就是java的继承,多态的一个用法。利于程序扩展。理解这种设计方式,会写出更易维护,简洁的代码。


如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

吃吃吃鱼的猫 2019-06-26 17:22:03

同学你好,

接口类型引用子类对象是指:

接口类型的引用指向实现它的实现类对象。

例如:

http://img1.sycdn.imooc.com//climg/5d13392f0001ba8301940051.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


  • 提问者 薛定谔的猫迷 #1
    能在具体一点嘛.这样子做的用处是啥,实现多态?
    2019-06-26 17:49:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师