27_方法的重写

07_方法的重写

  1. 子类重写父类的方法

    1. 静态方法等级较高,不算重写

      public class Application {
          public static void main(String[] args) {
      
              A a = new A();
              a.test();//Atest
      
              //父类B的引用指向子类A
              B b = new A();
              b.test();//Btest
          }
      }
      
      public class B {
          public static void test(){
              System.out.println("Btest");
          }
      }
      
      public class A extends B {
          public static void test(){
              System.out.println("Atest");
          }
      }
      
    2. 非静态方法实现重写

      public class Application {
          public static void main(String[] args) {
      
              A a = new A();
              a.test();//Atest
      
              //父类B的引用指向子类A
              B b = new A();
              b.test();//Atest
          }
      }
      
      public class B {
          public void test(){
              System.out.println("Btest");
          }
      }
      
      public class A extends B {
          public void test(){
              System.out.println("Atest");
          }
      }
      

小提示

  1. IDEA中重写方法会标志O,可以明显看出。
  2. 重写条件:
    1. 子类重写父类。
    2. 方法名相同。
    3. 参数列表相同。
    4. 权限不能为private,可以扩大但不能缩小。
    5. 抛出异常范围可以被缩小,不能扩大。
  3. 为什么需要重写?
    1. 父类功能子类不一定需要。
  4. IDEA快捷键alt+insert:override。
posted @ 2024-07-02 22:00  神莹  阅读(18)  评论(0)    收藏  举报