程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java方法重寫_動力節點Java學院整理

Java方法重寫_動力節點Java學院整理

編輯:關於JAVA

Java方法重寫_動力節點Java學院整理。本站提示廣大學習愛好者:(Java方法重寫_動力節點Java學院整理)文章只能為提供參考,不一定能成為您想要的結果。以下是Java方法重寫_動力節點Java學院整理正文


一、方法重寫(Override)

   在Java中如何來定義重寫:Java程序中類的繼承特性可以產生一個子類,子類繼承父類就擁有了父類的非私有的屬性(方法和變量),在子類中可以增加自己的屬性(方法和變量),同時也可以對父類中的方法進行擴展,以增強自己的功能,這樣就稱之為重寫,也稱為復寫或者覆蓋。所謂方法重寫就是子類的方法和父類中繼承下來的方法具有完全相同的方法名、返回值類型、方法的參數個數以及參數類型,這樣才能被稱為方法重寫。

代碼體現:

// 這是父類的定義
public class Person {
  public void eat() {
     System.out.println("=====這是父類Person的eat方法=======");
   }
}
// 這是子類的定義
public class Student extends Person {
  @Override
  public void eat() {
    System.out.println("===這是子類Student的eat方法===");
  }
  // main方法測試
  public static void main(String[] args) {
    Student student = new Student();
    student.eat(); //輸出:===這是子類Student的eat方法===
   }
}

子類重寫父類的方法後,在實例化子類的時候則調用的是子類中的方法,父類的方法就如同被覆蓋了一樣。如果在子類中需要調用父類的方法,則在子類方法中使用super關鍵字調用父類的方法,格式:super.父類中的方法名(參數列表)。

  重寫規則:

在進行方法重寫的時候需要遵循以下規則才能實現方法重寫:

(一)子類方法的參數列表必須和父類中被重寫的方法的參數列表相同(參數個數和參數類型),否則只能實現方法的重載。

(二)子類方法的返回值類型必須和父類中被重寫的方法返回值類型相同,否則只能實現方法重載。

(三)在Java規定,子類方法的訪問權限不能比父類中被重寫的方法的訪問權限更小,必須大於或等於父類的訪問權限。

(四)在重寫的過程中,如果父類中被重寫的方法拋出異常,則子類中的方法也要拋出異常。但是拋出的異常也有一定的約束--->子類不能拋出比父類更多的異常,只能拋出比父類更小的異常,或者不拋出異常。例如:父類方法拋出Exception,那麼子類就只能拋出IOException或者拋出比Exception小的異常或者不拋出異常。

以上所述是小編給大家介紹的Java方法重寫_動力節點Java學院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved