Java是目前最流行的編程語言之一,它具有強大的面向對象特性,其中包括重載、重寫和重構。以下是關于這三個概念的詳細介紹。
重載
public class Example { public void show(int a) { System.out.println("a is " + a); } public void show(int a, int b) { System.out.println("a is " + a + ", b is " + b); } public void show(double a) { System.out.println("a is " + a); } }
重載是指在同一個類中定義多個方法名相同但參數類型或個數不同的方法。例如上面的代碼,就分別定義了三個名為show的方法,但參數不同。在調用時,編譯器會根據參數類型或個數的不同來判斷調用哪個方法。
重寫
public class Animal { public void speak() { System.out.println("Animal speaks."); } } public class Dog extends Animal { @Override public void speak() { System.out.println("Dog barks."); } }
重寫是指在子類中重新定義父類中已有的方法,方法名、返回值類型、參數類型和個數均需與父類中的方法相同。在上面的代碼中,Dog類繼承了Animal類,但重寫了其speak方法,使得其輸出內容不同。
重構
public class Example { public void beforeRefactor() { for (int i = 0; i < 10; i++) { System.out.println(i); } } public void afterRefactor() { int i = 0; while (i < 10) { System.out.println(i); i++; } } }
重構是指對現有代碼進行優化和改進,以提高代碼質量和可讀性。例如上面的代碼,使用for循環輸出0到9的數字,但是在重構后,使用while循環,更加清晰易懂。