为了账号安全,请及时绑定邮箱和手机立即绑定

有个问题想问下


IPlayGame ip1 = new SmartPhone();

ip1.PlayGame();

IPlayGame ip2 = new Psp();

ip2.PlayGame();



SmartPhone sp1 = new SmartPhone();

sp1.PlayGame();

Psp ps1 = new Psp();

ps1.PlayGame();


有什么不同呢? 他们都是可以调用各自类中实现的接口方法,前面那种写法有什么特殊意义或者作用呢? 或者仅仅是说明可以这样调用?





正在回答

代码语言

1 回答

1、从语法本身两者都可以实现调用接口中定义的方法。但是,前者只能调用接口中定义的方法,而无法调用实现类特有的方法;后者既可以调用接口中定义的方法,也可以调用实现类中特有的方法。

2、从实际应用而言,第一种应用的会更广泛,更适用于多态的场合,譬如,定义的方法中,需要可以接收实现某个接口的多各类对象做参数时,就更适合用第一种。当然,如果某个方法,确定只需要调用某个实现类参数,就都可以拉

2 回复 有任何疑惑可以回复我~
#1

dongfangliu

关于 1. 那为什么要开辟一个 new SmartPhone();
2015-07-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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