1.11 重写和重载的概念
难度:★★
重点:★★★★
白话解析
这道题它的重点不仅仅是在面试中,因为后续在做开发的时候会接触到大量的重写或重载。也正是因为他们,才实现了Java的多态特性。
1、重写:好好理解下,就是本来父亲写好了一个方法,然后儿子觉得父亲的方法不行,重新写一遍。
-
要想重新写方法,那方法名要一模一样,参数类型和数量也要一模一样,返回值的类型也要一模一样,如果这三个条件不满足,那就不叫把原来的方法重写一遍,只能算子类自己定义了新方法
-
子类重写的方法在抛异常的时候也只能抛父类方法异常的子异常,或者与父类方法异常一样。
-
子类重写的方法访问权限要比父类方法的权限更大,就比如说,我父类的方法是public,你子类重写后却是private,那你重写的意义何在呢?本来就是想让别人在调方法的时候调子类的重写方法,现在反而你重写的方法没有权限了。
-
父类要被覆盖的方法不能是private,如果是private,那子类就不是重写了,而是子类自己定义了一个新方法
2、重载:说白了就是对于一个方法,我想有多种实现,比如笑这个方法,我可以是微笑,也可以是嘲笑,也可以是猥琐的笑等等。
public class Myself {
public String xiao(String name){
return name+"微笑