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

请问。。。。。。。。。

请问。。。。。。。。。

谢思宇啊丶 2017-04-16 14:28:36
Animal animal = new Dog();和 Dog animal = new Dog();除了不能引用子类独有的方法外,有区别吗?  Animal animal = new Dog();到底是怎样的意思?
查看完整描述

1 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

这里突出的是java中的多态技术,使用多态可极大程度上提高代码的可复用性,消除类型之间的耦合关系。

定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

例如本例中的狗是一种动物,但是如果现在有一个Cat类,她也继承至Animal类,那么对于方法:

public void cry(Animal animal)
{
    .....
}

就可以传入Animal类的子类对象,产生一个上转型动作,实现多态,既可以:

cry(new Cat());

也可以

cry(new Dag());

这样,使用多态技术就可以在以后的项目拓展时传入一个Animal类的子类(如Snake类)而不用改动其基本架构。

查看完整回答
反对 回复 2017-04-16
  • 1 回答
  • 0 关注
  • 1083 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信