详解方法的重写和重载的区别

java学习的过程中,一定会听说的两个概念:重写和重载。
先来了解一下什么是重写什么是重载:

重写:是发生在父类和子类之间的,要求被重写的方法名字一定要和原方法的名字,参数类型、参数个数、返回值类型相同。被重写的方法修饰限定符的限定范围一定要大于等于原方法的修饰限定符限定范围;被重写的方法抛出的异常类型一定要是原方法异常类型的子类或者原方法的异常。重写是在运行时起作用的。重写是父类和子类之间的多态性体现。

接下来了解一下什么是重载:

重载:是发生在同一个类里面的。重载的方法名要和原方法名相同;必须要有不同的参数列表;可以有不同的返回值;可以有不同的修饰限定符;可以抛出不同的异常。是同一个类里的多态性的体现;是在编译时期起作用的。

那java的所有方法可以被重写和重载吗?
例如构造方法:我们知道构造方法是和类名同名的;重写是发生在父类和子类的。那就必须要有两个相同名字的类一个做父类一个做子类;很明显在java中是不允许的,所以构造方法不可以被重写。构造方法被重载那当然是可以的了,就比如有参的构造方法和无参的构造方法了,就是构造方法的重载。
还有就是被final修饰的方法不可以被重写!

猜你喜欢

转载自blog.csdn.net/weixin_43815275/article/details/114434294
今日推荐