Java是一種面向對象編程語言,其中的重載和重寫是常見的面試題目。在這篇文章中,我們將會學習這兩個概念以及如何應對這些問題。
重載(overloading)是指同一個類中出現兩個或兩個以上的方法,它們擁有相同的方法名但擁有不同的參數列表,編譯器會通過參數個數、參數類型和順序的不同來區分不同的方法。當我們調用這個方法時,Java會根據我們傳入的參數自動匹配到對應的方法。下面是一個簡單的例子。
public class OverloadingExample {
public int add(int x, int y) {
return x + y;
}
public int add(int x, int y, int z) {
return x + y + z;
}
}
在這個例子中,我們定義了兩個名為add()的方法,它們分別接受兩個和三個整數參數。如果我們調用add(1, 2),Java就會自動調用第一個方法,而如果我們調用add(1, 2, 3),Java會自動調用第二個方法。這就是重載。
重寫(overriding)是指在子類中定義一個與父類中相同名稱、參數列表和返回值類型的方法,這樣就可以覆蓋父類已有的方法。這個過程也稱為方法的“覆蓋”或“重寫”。下面是一個簡單的例子。
public class ParentClass {
public void print() {
System.out.println("This is parent class.");
}
}
public class ChildClass extends ParentClass {
public void print() {
System.out.println("This is child class.");
}
}
在這個例子中,我們覆蓋了父類中的print()方法。當我們使用下面的代碼創建一個ChildClass對象并調用它的print()方法時:
ChildClass child = new ChildClass();
child.print();
我們會看到輸出結果是“This is child class.”而不是“This is parent class.”。這就是繼承和重寫。
在Java面試中,重載和重寫是經常會被問到的問題。面試者可能會問你兩個概念的區別以及在什么情況下應該使用重載和重寫。通過了解這些概念的基本知識并且有實際的編程經驗,你將會更加自信地回答這些問題。
上一篇java里的類和接口
下一篇css排版文字邊距