Java 中方法隱藏與方法重寫之間的差異是什麼?


當父類和子類都包含相同例項方法(包括引數)時,呼叫時,子類的方法會覆蓋父類的方法。

在這個示例中,父類和子類都有簽名相同(方法名稱和引數)的方法,當我們嘗試從子類呼叫此方法時,子類方法會覆蓋父類中的方法並得到執行。

舉例

現場演示

class Super{
   public void sample(){
      System.out.println("Method of the Super class");
   }
}
public class MethodOverriding extends Super {
   public void sample(){
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]){
      MethodOverriding obj = new MethodOverriding();
      obj.sample();
   }
}

輸出

Method of the Sub class

當父類和子類都包含相同的方法(包括引數),並且它們都是靜態方法時,呼叫時,子類的方法會隱藏父類的方法。

舉例

現場演示

class Super{
   public static void sample(){
      System.out.println("Method of the Super class");
   }
}
public class MethodHiding extends Super {
   public static void sample(){
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]){
      MethodHiding obj = new MethodHiding();
      obj.sample();
   }
}

輸出

Method of the Sub class

更新日期:2019 年 7 月 30 日

2K+ 瀏覽量

開啟 職業生涯

透過完成課程獲得證書

開始
廣告