重写
概念
-
重写:需要有继承关系,子类重写父类的方法!
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大但是不能缩小: public > protected > default > private
- 抛出的异常:范围,可以被缩小,但不能扩大; ClassNotFoundException --> Exception(大)
-
重写都是方法的重写,和属性无关。
-
为什么需要重写:
- 父类的功能,子类不一定需要,或者不一定满足!
-
快捷键 : Alt + Insert : override;
补充
-
静态的方法和非静态的方法区别很大!
// 父类 public class A { public static void test(){ System.out.println("A == 》吐了个烟圈 o oo"); } public void test1(){ System.out.println("A == 》吐了个烟圈 o oo"); } }
// 子类 public class B extends A { public static void test(){ System.out.println("B == 》吐了个烟圈 o oo"); } public void test1(){ System.out.println("B == 》吐了个烟圈 o oo"); } }
// main方法 public static void main(String[] args) { A a = new A(); A b = new B(); a.test(); b.test(); System.out.println("============================="); a.test1(); b.test1(); }
总结:
1、静态方法:方法的调用只和左边定义的数据类型有关。
2、重写和静态方法无关,只和非静态方法有关。