发生在类的继承中,这个方法子和父名称一样,子生效

重写(override)规则:

  1. 参数列表必须完全与被重写方法相同
  2. 返回类型必须完全与被重写的返回类型相同
  3. 访问权限不能比父类中被重写的访问权限更低。例如:如果父类的一个方法被声明为public,name子类中重写该方法就不能声明为protected
  4. 父类的成员方法只能被他的子类重写
  5. 声明为static和private的方法不能被重写,但是能够被再次声明 ```java public class Demo1{ public stsic void main(String[] args){
    1. Student s = new Student();
    2. s.say();
    } }

class Person{ public void say(){ System.out println(“锄禾日当午,汗滴禾下土”) } }

class Student extends Person{ public void say(){ System.out.println(“床前明月光”); } } ```

注意:面试题:Java中重写(override)和重载(overland)的区别

  1. 重写是发生在子父类中的操作
  2. 重载是一个类里面参数列表的长度、参数类型和参数类型顺序不同(分为构造方法重载和方法重载)

a. 发生的位置
重载:一个类中
重写:子父类中
b. 参数列表限制
重载:必须不同
重写:必须相同
c. 返回值类型:
重载:与返回值类型无关
重写:返回值类型必须一致
d. 访问权限:
重载:与访问权限无关
重写: 子的方法权限 必须不能小于 父的方法权限
e.异常(bug)处理:
重载:与异常无关
重写:可以减少或删除(异常范围可以更小更精准,但是不能抛出新的异常)