Java是一種面向對象的編程語言,其中父類和子類是面向對象編程的核心概念之一。在Java中,如果子類繼承了父類并且定義了與父類同名的方法,那么該方法將覆蓋父類原有的同名方法。
public class ParentClass { public void doSomething() { System.out.println("父類執行的方法"); } } public class ChildClass extends ParentClass { public void doSomething() { System.out.println("子類執行的方法"); } }
在上面的代碼中,ChildClass繼承了ParentClass并定義了一個名為doSomething的方法,該方法與父類同名。在實例化ChildClass對象并調用該方法時,子類定義的doSomething方法將優先于父類中的同名方法進行執行。
在Java中,當子類方法覆蓋了父類同名方法時,我們可以使用super關鍵字調用父類中被覆蓋的方法。
public class ParentClass { public void doSomething() { System.out.println("父類執行的方法"); } } public class ChildClass extends ParentClass { public void doSomething() { super.doSomething(); System.out.println("子類執行的方法"); } }
在上述代碼中,子類定義的doSomething方法首先調用了父類中同名的doSomething方法,然后才執行子類中的方法。通過使用super關鍵字,我們可以在子類方法中調用父類的同名方法,從而實現父類和子類同名方法的協作,這對于編寫復雜的代碼非常有用。