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

关于多态的理解

比如有一个父类 Animal,两个子类 Cat Dog

父类中包含一个判断种类的方法kind(String race)

子类Cat中重写了父类的方法kind()

子类Dog中没有重写父类的方法kind()

Animal animal1 = new Cat()     Animal animal2 = new Dog()

调用animal1的kind()方法,由于Cat中重写了kind()方法,因此将直接调用子类Cat的kind()方法

调用animal2的kind()方法,由于Dog中没有重写kind()方法,因此直接调用父类Animal的kind()方法

也就是是说,我们借助多态来调用对象的方法,但是不关心这个方法是父类的还是子类的,交由系统判断具体调用谁的方法


正在回答

3 回答

简洁明了~~

0 回复 有任何疑惑可以回复我~

是啊 多态省了很多重写的麻烦

0 回复 有任何疑惑可以回复我~

懵。。。

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

DamnLost 提问者

借助多态来调用对象的方法,不必关心此方法是父类的还是子类的。 如果子类重写了此方法,那么将会调用子类的方法 如果子类没有重写此方法,那么将会调用父类的方法 假如没有多态,我们在调用一个方法前,必须先知道这个方法是否包含在对象的引用当中。
2016-03-08 回复 有任何疑惑可以回复我~
#2

weixin_慕哥9207569 回复 DamnLost 提问者

假如没有多态,我们在调用一个方法前,必须先知道这个方法是否包含在对象的引用当中。这句话好难理解……
2016-05-08 回复 有任何疑惑可以回复我~
#3

怒放的生命012 回复 DamnLost 提问者

嗯我也是不理解这句话“假如没有多态,我们在调用一个方法前,必须先知道这个方法是否包含在对象的引用当中”
2016-05-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于多态的理解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信