在有继承的关系下,子类重写父类的方法,与属性无关
重写必要条件
1. 方法名必须相同
2. 参数列表必须相同
3. 修饰符范围可以扩大不可以缩小:public >protecteds>default>private
4. 抛出的异常:范围可以缩小但不可扩大;ClassNotFoundException(类找不到)
static 静态(使用后方法不可被重写,但可重声明)
//父类
public class Perosn {
public static void shout(){
System.out.println(“父类”);
}
}
//子类
public class Student extends Perosn{
public static void shout(){
System.out.println(“子类”);
}
}
//主方法
public static void main(String[] args) {
Perosn perosn=new Perosn();
perosn.shout();
Perosn perosn1=new Student();
perosn1.shout();
}
结果为
父类
父类
原因:
修饰符static静态方法,不可被重写
当不要static修饰符
结果为
父类
子类
为什么需要重写:
父类的功能子类不一定需要,或者不一定满足