方法覆写的原则(一同两小一大)
一同:
1)实例方法签名必须相同(方法签名 = 方法名 + 方法参数列表)
两小:
2)子类方法的返回值类型和父类方法的返回值相同或是其子类
3)子类方法声明抛出的异常类型和父类方法声明抛出的异常类型相同或是其子类
a)子类方法中声明抛出的异常≤父类方法声明抛出的异常
b)子类方法可以同时声明抛出多个属于父类方法声明抛出异常类的子类(RuntimeException类型除外)
一大:
判断是否为覆写方法: @Override便签:在方法前或上贴上该标签,若方法是覆写方法,则编译通过,否则,编译失败
只有方法存在覆盖的概念,字段没有
方法覆盖解决的问题:当父类的某个行为不符合子类具体的特征的时候,此时子类需要重新定义父类的方法,并重写方法体
一同:
1)实例方法签名必须相同(方法签名 = 方法名 + 方法参数列表)
两小:
2)子类方法的返回值类型和父类方法的返回值相同或是其子类
3)子类方法声明抛出的异常类型和父类方法声明抛出的异常类型相同或是其子类
a)子类方法中声明抛出的异常≤父类方法声明抛出的异常
b)子类方法可以同时声明抛出多个属于父类方法声明抛出异常类的子类(RuntimeException类型除外)
一大:
4)子类方法的访问权限≥父类方法的访问权限
private修饰的方法不能被子类继承,也就没有不覆盖的概念
判断是否为覆写方法: @Override便签:在方法前或上贴上该标签,若方法是覆写方法,则编译通过,否则,编译失败
只有方法存在覆盖的概念,字段没有
方法覆盖解决的问题:当父类的某个行为不符合子类具体的特征的时候,此时子类需要重新定义父类的方法,并重写方法体