哎呦诶,吃葡萄是吐葡萄皮儿还是不吐葡萄皮儿,是刘奶奶买牛奶还是柳奶奶买牛奶,这个方法是重载还是重写。
所以还是写个小抄以后悄咪咪的看吧!
首先咱来谈谈重载吧
重载:
1.在同一个类中,方法名必须相同,参数个数和参数类型不同
2.是一个类中多态性的一种表现,通过传递给它们的参数决定具体使用哪种方法
3.返回值类型可以相同也可以不相同
重载的意义:是为了外界调用方法时方便,不管传入什么样的参数,都可以匹配到对应的同名方法
他来了他来了!
重写:是指建立了继承关系以后,子类对父类的方法不满意,可以重写,遵循两同两小一大原则
1.继承父类的功能
2.可以添加子类的特有功能和修改父类的原有功能
3.子类中方法的签名与父类完全一样时,会发生覆盖/复写的现象
4.父类的私有方法不能被重写
5.两同两小一大原则:
两同:方法名,参数列表一致
两小:子类返回值类型和抛出异常小于父类
一大:子类修饰符权限大于等于父类被重写方法的修饰符权限
6.父类方法被默认修饰时,只能在同一包中其子类被重写,如果在不同包则不能重写
7.父类方法被protocted,不仅在同一包中其子类被重写,不同包的子类也可以被重写
重写的意义:在不修改源码的情况下,进行功能的修改与拓展(OCP原则:面向修改关闭,面向
拓展开放)