方法多載和方法覆寫的相同點:
- 都要求方法名相同;
- 都可以用于抽象方法和非抽象方法之間,
方法多載和方法覆寫的不同點:
- 方法覆寫要求引數簽名必須一致,而方法多載則要求引數簽名必須不一致;
- 方法覆寫要求回傳型別必須一致,而方法多載對此不做限制;
- 方法覆寫只能用于子類覆寫父類的方法,方法多載用于同一個類的所有方法(包括從父類中繼承來的方法);
- 方法覆寫對方法的訪問權限和拋出的例外有特殊的要求,而方法多載在這方面沒有任何限制;
- 父類的一個方法只能被子類覆寫一次,而一個方法在所在的類中可以被多載多次,
示例如下:
1 public class Base { 2 protected void method(int v) {} 3 private void method(String s) {} //多載 4 }
1 public abstract class Sub extends Base { 2 public void method(int v) {} //覆寫 3 public int method(int v1, int v2) {return 0;} //多載 4 protected void method(String s) throws Exception{} //多載 5 abstract void method(); //多載 6 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/178291.html
標籤:Java
