Java 是一種面向?qū)ο蟮木幊陶Z言,它允許我們通過重寫父類的方法來定制自己的方法,同時也可以通過創(chuàng)建新方法來擴(kuò)展類的功能。那么,重寫和新寫有什么區(qū)別呢?
// 重寫示例 public class Animal { public void move() { System.out.println("動物在移動"); } } public class Dog extends Animal { public void move() { System.out.println("狗在奔跑"); } } // 新寫示例 public class Car { public void drive() { System.out.println("車在行駛"); } } public class SUV extends Car { public void offRoad() { System.out.println("SUV越野"); } }
重寫的關(guān)鍵在于子類繼承父類的方法,并重新實(shí)現(xiàn)該方法。在上面的示例中,Dog 類繼承了 Animal 類的 move 方法,并重新實(shí)現(xiàn)了該方法。這樣,當(dāng)調(diào)用 Dog 的 move 方法時,會執(zhí)行 Dog 類中的實(shí)現(xiàn)。
另一方面,新寫則是創(chuàng)建一個全新的方法來擴(kuò)展類的功能。在上面的示例中,SUV 類繼承了 Car 類的 drive 方法,并新增了一個 offRoad 方法。這樣,當(dāng)我們調(diào)用 SUV 的 offRoad 方法時,會執(zhí)行 SUV 類中的實(shí)現(xiàn),但調(diào)用 drive 方法時,仍會執(zhí)行 Car 類中的實(shí)現(xiàn)。