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

新手求解?

听懂是听懂了,但是不懂这么做有什么意义?

Animal a=new Animal();

这是正常的创建主类对象。

Animal b=new Dog();

这是指主类b对象指向了Dog子类。

而且b是不能引用Dog子类中的独有方法的,那么这样做有什么特殊意义吗?


正在回答

1 回答

我也是新手,按照我看的《java编程思想》上解释,方法分为静态绑定和动态绑定,java中除了final,static修饰的方法都是动态绑定,使用多态可以使你只操作基类,更加方便。

打一个不太恰当的比方,动物都能吃东西,但吃的不同,不用多态,每个动物都要写一个eat方法,而且要记住每个新对象的类,使用多态,在基类调用eat方法,自动绑定到子类eat方法,只操作基态,在对象繁多时好处明显。

若有不对,请大神们指正,我也刚学。。。。

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

二十岁0122

也就是说,子类的每一个方法名可以和父类写成一样的实现,然后通过父类引用指向子类对象,并一一调用,对吗?
2018-10-28 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

新手求解?

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