當子類別需要父類別的功能,而子類別有新的內容,可以重寫父類別中的方法。在實際開發過程中,隨著程式碼量的逐漸增加,維護成了一個很大的問題,如果需要對某個方法進行修改,其本身程式碼以及其子類別程式碼都會受到影響,而重寫則很好的解決了這個問題。
方法重寫又稱為方法覆寫、方法複寫。 (建議學習:java課程)
重寫是子類別重新編寫父類別的允許存取的方法的實作過程, 傳回值與形參都不能改變。
方法重寫特點
在子類別和父類別中,出現了方法宣告相同的情況
子類別的方法宣告要和父類別相同
子類別要重寫的方法,方法的權限修飾符不能比父類別更低(public 、protected 、default 、private 權限依序增加)
父類別私有的方法,子類別不能進行方法重寫
程式碼實例
#先建立Person.java父類別
package Rewrite; public class Person { public void eat() { System.out.println("吃饭!"); } public void work() { System.out.println("工作!"); } public void sleep() { System.out.println("睡觉!"); } }
再建立Student.java子類別
package Rewrite; /* Student子类继承Person父类,并对父类的work()方法进行重写 */ public class Student extends Person { public void work() { super.work(); //使用super关键字调用父类方法 System.out.println("学习!"); System.out.println("娱乐!"); } }
在Main.java中呼叫
package Rewrite; public class Main { public static void main(String[] args) { Person per = new Person(); //创建父类对象 per.eat(); per.work(); per.sleep(); Student stu = new Student(); //创建子类对象 stu.work(); } }
實例分析:
在Person父類別中定義了三個方法,在子類別中對work()方法進行重寫
#重寫時函數的回傳值類型、函數名稱、參數清單都一樣
在子類別中可以使用super關鍵字呼叫父類別方法
以上是java中重寫是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!