JAvaメソッドのリロードと書き換え
2389 ワード
1.メソッドリロード(overloading method) メソッドリロードは、クラスが異なるタイプのデータを統一的に処理する手段である.Javaのメソッドのリロードは、クラスに同じ名前を持つ複数のメソッドを作成できますが、異なるパラメータと異なる定義を持つことです.メソッドを呼び出すときに、それらに渡される異なる個数とタイプのパラメータによって、どのメソッドを具体的に使用するかを決定します.これがマルチステートです.次に、メソッドの再ロードの例を示します.
2.メソッド書き換え(overiding method)
Javaでは、子クラスは親クラスのメソッドを継承し、同じメソッドを再記述する必要はありません.しかし,子クラスが親のメソッドをそのまま継承したくないのではなく,一定の修正をしたい場合があり,メソッドの書き換えが必要である.メソッド書き換えはメソッドオーバーライドとも呼ばれる.子クラスのメソッドが親クラスのメソッドと同じメソッド名、戻りタイプ、パラメータテーブルを持つ場合、新しいメソッドは既存のメソッドを上書きします.親クラスに存在するメソッドが必要な場合は、superキーを使用します.このキーは、現在のクラスの親を参照します.
親:OverExtend.java
サブクラス:overriding.java
package overloadangoverrid;
import static org.junit.Assert.*;
import org.junit.Test;
public class overloading {
public static void main(String[] args){
overloading ot=new overloading();
int a1=ot.add();
double a2=ot.add(11.3, 20);
int a3=ot.add(1, 2);
System.out.println("a1="+a1+"
"+"a2="+a2+"
"+"a3="+a3);
}
@Test
/* */
public int add() {
int a=100;
a=a+20;
return a;
}
@Test
/* */
public int add(int a,int b) {
int c=100;
c=c+a+b;
return c;
}
@Test
/* */
public double add(double a,int b) {
double c=100;
c=c+a+b;
return c;
}
}
2.メソッド書き換え(overiding method)
Javaでは、子クラスは親クラスのメソッドを継承し、同じメソッドを再記述する必要はありません.しかし,子クラスが親のメソッドをそのまま継承したくないのではなく,一定の修正をしたい場合があり,メソッドの書き換えが必要である.メソッド書き換えはメソッドオーバーライドとも呼ばれる.子クラスのメソッドが親クラスのメソッドと同じメソッド名、戻りタイプ、パラメータテーブルを持つ場合、新しいメソッドは既存のメソッドを上書きします.親クラスに存在するメソッドが必要な場合は、superキーを使用します.このキーは、現在のクラスの親を参照します.
親:OverExtend.java
package OverExtend;
public class OverExtend {
/* */
public String overrid(){
return " ";
}
public void overr(){};
}
サブクラス:overriding.java
package overloadangoverrid;
import OverExtend.OverExtend;
public class overriding extends OverExtend{
public static void main(String[] args){
overriding or=new overriding();
System.out.print(or.overrid());
or.overr();
}
@Override
public String overrid() {
//super.overrid() overrid()
return super.overrid();
}
@Override
public void overr() {
System.out.println(" ");
}
}