1. 程式人生 > 其它 >被static修飾的方法不能子類重寫

被static修飾的方法不能子類重寫

被static修飾的方法不能子類重寫

  • 被static修飾的方法不能被重寫,但可以被繼承;

  • 被static修飾的方法位靜態方法,可以直接使用類名.方法名進行呼叫,即該方法不屬於某個物件屬於該類;

 

  • 靜態方法可以被繼承,但是不能被重寫。如果父類中有一個靜態方法,子類也有一個與其方法名,引數型別都一樣的方法,並且也有static關鍵字修飾,那麼該子類的方法會把原來的父類方法繼承,把父類方法隱藏,而不是重寫;

  • 通俗的說就是父類的方法和子類的方法是2個沒有關係的方法,具體呼叫哪個,要看是哪個物件的引用;

 

  • 程式碼案例:


    public class Demo002 {
       public static void main(String[] args) {
           SuperClass superClass=new SubClass();
           superClass.a();
           superClass.b();
      }
    }
    /*
    結果:
    SuperClass a
    SubClass b
    */

    class SuperClass{
       //靜態方法
       public static void a(){
           System.out.println("SuperClass a");
      }
       //非靜態方法
       public void b(){
           System.out.println("SuperClass b");
      }

    }

    class SubClass extends SuperClass{
       //靜態方法
       public static void a(){
           System.out.println("SubClass a");
      }

       //非靜態方法
       public void b(){
           System.out.println("SubClass b");
      }
    }