java Overloaded的方法是否可以改變返回值的類型?


剛才看到這樣一個題,下面的解釋很亂,所以還是做一下試驗比較好

public class Test {
	
	public static void main(String[] args){
		Bae b = new Bae();
		b.m();
		System.out.println(b.m("an", 1));
		System.out.println(b.m(1,"an"));
		System.out.println(b.m(1,1));
		System.out.println(b.m(1));
		
		
	}
	
}

class Bae{
	public void m(){
		System.out.println("參數為:空");
		return ;
	}
	
//	public int m(){ // 方法簽名和上面的一模一樣會報錯。
//		return 10;
//	}
	
	public int m(int i){
		System.out.println("參數為:int ");
		return i;
	}
	public int m(int a,int b){
		System.out.println("參數為:int int");
		return a;
	}
	
	public String m(String a,int b){
		System.out.println("參數為:String int");
		return a;
	}
	// 上下兩個overload,參數的順序不一樣,也算不同。不會報錯,但是顯而易見的是,不推薦這種做法
	public int m(int b,String a){
		System.out.println("參數為:int String");
		return b;
	}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM