メソッドのオーバーロードと書き換え
メソッドのオーバーロード
同じクラスに同じ名前で異なるパラメーターを持つ複数のメソッドがある場合、それはメソッドオーバーロードと呼ばれます。たとえば、パラメーターリストが異なるため、累積操作と同様に、複数のメソッドを定義する必要がありますが、この操作は面倒なので、メソッドのオーバーロードを使用できます。
オーバーロードの条件:
- 同じクラスである必要があります
- メソッド名は同じである必要があります
- パラメータリストが異なります
- オーバーロードと戻り値の型はパラメータとは何の関係もありません
例えば:
//两个参数相加
public static int add(int a,int b){
return a+b;
}
//三个参数相加
public static int add(int a,int b,int c){
return a+b+c;
}
//四个参数相加
public static int add(int a,int b,int c,int d){
return a+b+c+d;
}
実施した:
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1,2,3,4));
}
演算結果:
3
6
10
メソッドの書き換え
サブクラスの同じメソッド(戻り値の型、メソッド名、パラメーターリストを含む)が親クラスに表示されます。たとえば、Xiao Mingは、ある日父親が残したプロパティを継承したいと考えていますが、XiaoMingはこの家が少し嫌われたので、彼自身床が再表面化され、壁が塗装され、家具が変更されました。Xiaomingで家を飾るプロセスは、Javaではメソッドの書き換えと呼ばれます。
書き換え条件:
-
サブクラスが親クラスを継承するという前提で実装する必要があります
-
サブクラスのオーバーライドメソッドは、戻り値、メソッド名、パラメーターリストなど、親クラスに同じメソッドを持っている必要があります
-
オーバーライドされたメソッドは、@ Overrideアノテーションでマークできます
-
サブクラスのオーバーライドされたメソッドのアクセス権は、親クラスのメソッドのアクセス権よりも低くすることはできません(private <default <protected <public)