charlie-captain 2016-04-19 09:35 采纳率: 100%
浏览 2101
已采纳

java向下转型和直接引用子类对象的区别

class A{
}
class B extends A {
}
向下转型:
A a = new B();
B b = (B)a;
直接调用子类:

B b = new B();
这两个 b 实例 有什么区别

  • 写回答

3条回答 默认 最新

  • fubo1990 2016-04-19 15:42
    关注

    实现的功能没有区别。但是维护起来就不如第一个。
    第一个是父类引用指向之类对象。可以降低程序的耦合性,即调用者不必关心调用的是哪个对象,只需要针对接口编程就可以了,被调用者对于调用者是完全透明的。让你更关注父类能做什么,而不去关心子类是具体怎么做的,你可以随时替换一个子类,也就是随时替换一个具体实现,而不用修改其他.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部