重写
- 重写都是方法的重写,与属性无关。
- 需要有继承关系,子类重写父类的方法!
- 方法名必须相同
- 参数列表必须相同
- 修饰符:
- 范围可以扩大(子类的范围可以比父类大)不可以缩小,public>protected>default>private
- 抛出的异常可以被缩小,但不能扩大:
- 重写,子类的方法个父类必须要一致,方法体不同!
- 为什么需要重写:
- 父类的功能,子类不一定需要,或者不一定满足!
- Alt + Insert 然后选中 Override!
//父类B
//重写都是方法的重写,与属性无关
public class B {
public void test(){
System.out.println("B=>test");
}
}
//子类A 继承 B
public class A extends B{
@Override //注解:有功能的注释!
public void test() {
System.out.println("A=>test");
}
}
//调用
public class Application {
// 静态的方法和非静态的方法区别很大!
// 静态方法: 方法的调用只和左边定义的数据类型有关
// 非静态:重写
public static void main(String[] args) {
// 方法的调用只和左边定义的数据类型有关
A a = new A();
a.test();
// 父类的引用指向了子类
B b = new A();
b.test();
}
}
//最后输出都是A=>test