久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Java方法簽名為何不包含返回值類型

瀏覽:28日期:2022-08-30 13:18:44

看下官方說明:

Java方法簽名為何不包含返回值類型

意思是java方法簽名包含兩個要素:方法名稱和參數列表。即不包括返回值類型。

那為什么不能包含返回值類型呢?

看一下如下兩段代碼示例。

示例一:

public String m123(int i) { return '456'; } public int m123(int i) { return 123; } // 為什么不能包含返回值的原因:編譯器無法從所有的上下文中確定重載版本 // 因此為了避免“模棱兩可”的局面, java方法簽名中不包含返回值類型 // 示例展示: public void whyNoReturnType() { // 假設java方法簽名定義包含方法返回值類型, 方法現有 String 和 int 兩種類型返回值 // 這行代碼編譯器可以找到返回值為 String 類型的重載方法 String s = m123(456); // 而這行代碼, 編譯器無法確定你需要哪個重載版本, 因為返回值被舍棄了, 造成了一種模棱兩可的局面 m123(567); }

類似的,示例二:

public void whyNoReturnType2() { System.out.println(m123(456)); }

第二個示例代碼相對更簡單,從另外一個角度看,println 方法我們會在監控輸出的時候經常使用到,而需要注意到的是 println 方法有許多重載方法,如下圖:

Java方法簽名為何不包含返回值類型

在示例二中,如果m123() 方法有多個返回值,那么編譯器就無法為 println() 方法決定到底要調用返回值是 String 的方法還是 返回值是 int 的方法。即陷入了一種“模棱兩可”的局面。

總結:

通過兩個示例展示了,java為了避免編譯器無法從所有上下文中找出重載而陷入“模棱兩可”的局面,因此java方法簽名中只有兩個要素:方法名稱和參數列表。不包含返回值類型。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 博野县| 宁都县| 洞口县| 平罗县| 云南省| 屏东县| 略阳县| 霸州市| 沁水县| 巩留县| 包头市| 额济纳旗| 陇川县| 探索| 临沭县| 前郭尔| 龙岩市| 岳阳县| 英山县| 临沧市| 新巴尔虎左旗| 遂平县| 钦州市| 塔河县| 土默特左旗| 普陀区| 陆良县| 通州区| 当阳市| 乌拉特后旗| 图片| 开封市| 锡林浩特市| 淮阳县| 奇台县| 永仁县| 台安县| 重庆市| 陆川县| 班戈县| 绍兴县|