首页 > 编程语言 > 详细

Java方法的多态

时间:2019-06-02 17:05:26      阅读:82      评论:0      收藏:0      [点我收藏+]

方法的多态

  • 重载。方法名相同,其他可以不同
  • 重写。父类子类的方法名相同。访问权限不能更小

重写:

  • 继承了父类
  • 父类方法不能满足
  • 子类、父类这个方法的方法名相同
  • 参数相同
  • 返回类型相同
  • 访问权限不能更小
  • 抛出的异常不能更大

一、多态

Animal bird2 = new Bird("2niao", 4);
bird2.sing();

bird2.sing(),由于bird2被定义为是Animal类型,而Animal类型是没有sing() 这个方法的,因此会报错。解决办法是,把这个bird2强制转换成Bird类型。

((Bird)bird2).sing();

可以先用 isinstanceof来进行判断

二、重写父类

父类引用调用子类对象,是用的子类的方法。

Dog类,Bird类都有eat()方法,他们都继承了Animal类,于是就重写了父类的方法。

Animal bird3=new Bird("niao3", 23);
bird3.eat();

即使bird3被定义为Animal类型,eat()依然输出:

niao3正在吃虫子

Java方法的多态

原文:https://www.cnblogs.com/heenhui2016/p/10963278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!