码迷,mamicode.com
首页 > 其他好文 > 详细

重载与重写的区别

时间:2020-02-29 13:28:16      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:值类型   public   over   出现   情况   obj   rri   bar   ++   

重载(overload):方法名称一样,参数列表【不一样】。

如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,叫做方法重写(override) 概念: 子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。 声明不变,重新实现 特点: 创建的是子类对象,则优先用子类方法。 重写(override):方法的名称一样,参数列表【也一样】。也叫覆盖、复写

注意事项

  1. 子类方法覆盖父类方法,返回值类型、函数名和参数列表都要一模一样

    @override:写在方法前面,用来检测是不是有效的正确覆盖重写

    这个注释就算不写,只要满足要求,也是正确的覆盖重写

  2. 子方法的返回值必须【小于等于】父方法的返回值范围。

    小扩展提示:java.lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是object的子类

  3. 子类方法的权限必须【大于等于】父类方法的权限修饰符

  4. 小扩展提示:public > protected > (defoult) 什么都不写>private

    备注:(default)不是关键字default,而是什么都不写,留空。 /* 重写(override):方法的名称一样,参数列表【也一样】。也叫覆盖、复写 / public class Fu{ public void method(){ System.out.println("Fu show"); } } ? public class Zi extends Fu{ public void method(){ System.out.println("Zi show"); } } ? public static void main(String[] args){ Zi zi = new Zi(); zi.method();//zi show } ? / 重载(overload):方法名称一样,参数列表【不一样】。 */ public void bark(){ System.out.println("woof"); } public void bark(int num){ for(int i = 0;i<num;i++){ System.out.println("woof"); } } 小结: 重写(override):方法名参数都一样。 重载(overload):方法名相同,参数不同。

重载与重写的区别

标签:值类型   public   over   出现   情况   obj   rri   bar   ++   

原文地址:https://www.cnblogs.com/anke-z/p/12382239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!