Java中的重載和復寫是面向對象編程中非常常見的知識點,也是面試中經常會被問到的問題。以下將詳細講解Java中的重載和復寫,并提供一些常見的面試題目。
重載
Java中的重載指的是在同一類中定義多個同名但不同參數的方法。重載方法必須有不同的參數類型和/或數量,并且方法返回類型可以相同,也可以不同。編譯器將根據傳遞給方法的參數來確定要調用哪個重載方法。
public class OverloadExample { public int sum(int a, int b) { return a + b; } public int sum(int a, int b, int c) { return a + b + c; } public double sum(double a, double b) { return a + b; } }
在上面的示例代碼中,我們定義了三個名為sum的方法,在第一個方法中傳遞兩個int類型的參數,第二個方法傳遞三個int類型的參數,第三個方法傳遞兩個double類型的參數。
復寫
Java中的復寫是指在子類中重新定義父類中的方法。覆蓋方法必須具有相同的名稱,參數列表和返回類型。子類復寫方法可以在方法簽名上使用@Override注解。
public class Animal { public void eat() { System.out.println("Animal is eating"); } } public class Dog extends Animal { @Override public void eat() { System.out.println("Dog is eating"); } }
在上面的示例代碼中,我們定義了一個Animal類,其中有一個名為eat的方法。我們還定義了一個Dog類,該類擴展了Animal類并復寫了其中的eat方法。輸出結果將是“Dog is eating”而不是“Animal is eating”。
常見面試題目
- 重載和復寫的區別是什么?
- 什么是重載?在Java中如何實現重載?
- 什么是復寫?如何在Java中實現復寫?
- 覆蓋方法是否可以拋出不同的異常?
- 什么是多態性?如何在Java中實現多態性?
下一篇css控制標簽怎么寫