首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 方法重載與參數類型匹配機制詳解

     編輯:程式設計疑難解答

疑問代碼

sum(10,20) 調用 int 版本,sum(10.5f,20) 調用 float 版本,為什麼?

代碼截圖

原理解析

Java 編譯器根據實參類型選擇最匹配的重載方法:

  1. 整數字面量默認是 int,故 sum(10,20) 精確匹配 int 參數版本。
  2. 10.5f 明確是 float,第二個參數 20 可隱式擴寬轉換為 float(int→float),匹配 float 版本;反之 float 無法自動縮窄為 int。

匹配優先級:精確匹配 > 擴寬轉換 > 自動裝箱 > 可變參數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved