1 . 需要有继承关系,子类重写了父类的方法
2 . 方法名必须相同
3 . 参数列表必须相同
4 . 修饰符:范围可以扩大,但不能缩小 public>protected>default>private(抛出的异常:范围可以被缩小,但不能扩大 Exception(大)——> ClassNotFoundException(小))
5 . 重写时,子类的方法和父类必须一致。方法体不同!
重写是方法的重写,与属性无关
方法调用和左边有关,有很大很大的关系!
B b = new A(); //父类B的引用指向子类A b.test(); //如果是static静态方法,输出 B=>test() //如果是 非静态方法,输出 A=>test()
//子类 A public class A extends B{ @Override public void test() { System.out.println("A=>test()"); } } //父类 B public class B { public void test(){ System.out.println("B=>test()"); } }
快捷键: Alt + Insert :Override;