JAvaメソッドのリロードと書き換え

2389 ワード

1.メソッドリロード(overloading method)        メソッドリロードは、クラスが異なるタイプのデータを統一的に処理する手段である.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("        ");
	}
	
}