中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java參數重載的實例用法

發布時間:2021-09-04 10:43:50 來源:億速云 閱讀:121 作者:chen 欄目:編程語言

這篇文章主要講解了“Java參數重載的實例用法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java參數重載的實例用法”吧!

package someTest;

class SSSuperClass{}
class SSSubClass extends SSSuperClass{}

public class TestDuplicate {

	public void function(Object o){				//方法1
		System.out.print("Object\n");
	}
	
	public void function(int[] array){			//方法2
		System.out.print("int[] array\n");
	}
	
	public void function(SSSuperClass array){	//方法3
		System.out.print("SSSuperClass\n");
	}
	
	public void function(SSSubClass array){		//方法4
		System.out.print("SSSubClass\n");
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new TestDuplicate().function(new Object());			//調用1
		new TestDuplicate().function(new int[3]);			//調用2
		new TestDuplicate().function(new SSSubClass());		//調用3
		new TestDuplicate().function(new SSSuperClass());	//調用4
		/**
		 * 一切都看似很和諧。參數重載可以允許父類和子類關系的存在,
		 * 調用的時候會根據實際的參數,尋找最為精確匹配的那個函數去執行。
		 * 如果我們去掉方法4,調用4就會發現方法3才是它最匹配的函數,所以調用之。
		 * 如果去掉方法3,調用4會發現方法1才是自己的實參最匹配的函數,所以調用之。
		 * */
		
		/**
		 * 但是如果我們傳入的不是數組,也不是任何對象,而是一個null呢???
		 * 同樣null也會找一個最為精確匹配的函數,但是這里會編譯錯誤。因為這邊有兩條繼承
		 * 路徑,一個是Object->array[],一個是Object->SSSuperClass->SSSubClass。
		 * 所以方法2和方法4,null就不知道哪個才是最精確的匹配了。
		 * 所以我們方法3和方法4在下面的調用下不兼容,有歧義。
		 * */		
		//new TestDuplicate().function(null);	//compile error
		
		//可以看到null雖然是對象,但是卻什么都不是,甚至連Object都不是,但是他依然會尋找最為匹配的形參
		String s = null;
		String ss = "sss";
		if(s instanceof String) System.out.print("s is String");
		if(ss instanceof String) System.out.print("ss is String");
		if(null instanceof Object) System.out.print("null is a Object");
	}
}

Java參數重載的實例用法

感謝各位的閱讀,以上就是“Java參數重載的實例用法”的內容了,經過本文的學習后,相信大家對Java參數重載的實例用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

什邡市| 富裕县| 台北县| 绍兴市| 兰州市| 宁乡县| 枣庄市| 乌兰浩特市| 福海县| 台北县| 黄冈市| 邳州市| 泽普县| 缙云县| 汶川县| 洮南市| 陕西省| 靖州| 平顺县| 凤凰县| 赞皇县| 菏泽市| 广安市| 桃江县| 岑溪市| 崇阳县| 新安县| 闽侯县| 苏州市| 北宁市| 藁城市| 嘉黎县| 紫金县| 庄河市| 平安县| 德兴市| 晋城| 新宁县| 张家川| 和政县| 文登市|