java重载与重写的区别你懂了吗
目录:
1.重载
2.重写
1.重载
(1) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
(2)重载的特点:
1.方法名要一样,但是参数类型或个数不一样,再或者二者都不一样
2.返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
3.可以有不同的访问修饰符;
4.可以抛出不同的异常;
5.存在于父类和子类、同类中
第5点怎么理解呢,看下面代码:
子类继承父类的方法进行重载
(3)重载的多态性
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性
这里的多态是编译时的多态,也就是说在编译的时候就已经知道我传什么参数将要调用哪一个重载的方法
编译前的多态又叫静态绑定
2.重写
(1)重写就是子类重新实现从父类继承过来的方法,对父类的方法进行覆盖,调用的时候调用子类自己的方法
(2)重写的特点:
1.参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
2.返回的类型必须小于等于与被重写的方法的返回类型,否则不能称其为重写而是重载。
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(也就是方法在子类访问修饰符大于等于父类)
4.方法重写时,子类抛出的异常类型要 小于等于父类抛出的异常类型。
(3)重写的多态性:
调用方法的时候,只有在运行阶段才确定调用的方法
编译后是不知道要调用父亲继承给儿子的方法还是儿子重写父亲的方法
运行时的多态又叫做动态绑定
总结
以上是生活随笔为你收集整理的java重载与重写的区别你懂了吗的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 深入java抽象类和接口
- 下一篇: 还在傻傻分不清楚equal和==