Bootstrap

多态(2)

大家好,今天我们继续来学习多态的知识,上篇我们已经简单了解了多态,今天我们来看看该如何实现多态,来看。

重载和重写的区别是什么?

重载:  

1.方法名称相同

2.参数列表不同[(数据类型,个数.顺序)]

3.返回值不做要求

重写(一定发生在继承层次上):

1.方法名称相同

2.返回值相同(构成父子类关系也可以)

3.参数列表相同(数据类型,个数,顺序)

注:子类的访问权限要大于等于父类的权限

private < default(默认权限)< protected < < public

4.private修饰的方法是不能重写的。

5.final修饰的方法我们叫做密封方法,不能被重写。

6.如果被static修饰,也不可以被重写。

 

2.3重写.

重写(override):也称覆盖,重写是对父类非静态,非private 修饰,非final修饰,非构造方法等的实现过程进行重新编写,返同值和形参都不能改变,即外壳不变,核心重写。重写的好处在于子类可以根据需要,定义特定于自己的行为,也就是说子类能够根据需要定现父类的方法。

[方法重写的规则]

.子类在父类重写的方法时,一般必须与父类方法原型一致:返回值类型 方法名(参数列表)

要完全一致

.被重写的方法这返回值类型可以不同,但是必须是具有父子关系的.访问权限不能比父类中被重写的方法的访问权限更低.

例如:如果父类方法被public修饰,则子类中重写的方法就不能声明为protected.

父类被static,private修饰的方法,构造方法不能被重写。

重写的方法,可以使用@Override注解来显式绑定,有了这个注解.能帮我们进行一些合法性校验,例如不小心将方法名字拼写错,那么此时编译器就会发现父类中没有该方法就会编泽报错,提示无法构成重写.

[重写和重载的区别]

区别点:

参数列表,重写不能修改,重载必须修改。

返回类型,重写一定不能修改(除非构成父子类关系),重载可以修改。

访问限制符,重写一定不能做更严格的限制(可以降低限制),重载可以修改。

IDEA重写:

右键Generate->Override.Methods

00e3d89c4c194912a08fe9e03ae99ab3.png

315576d1692d42b3bdd850a8ae33d240.png 

eab55148feec4a7c9739e9c47eee585b.png 

好了,今天分享就到这里,谢谢大家!!!

5b0beb2e92d94382b14ccc2dd3e3df9e.png 

 

;