Java方法簽名為何不包含返回值類型
看下官方說明:

意思是java方法簽名包含兩個(gè)要素:方法名稱和參數(shù)列表。即不包括返回值類型。
那為什么不能包含返回值類型呢?
看一下如下兩段代碼示例。
示例一:
public String m123(int i) {
return "456";
}
public int m123(int i) {
return 123;
}
// 為什么不能包含返回值的原因:編譯器無法從所有的上下文中確定重載版本
// 因此為了避免“模棱兩可”的局面, java方法簽名中不包含返回值類型
// 示例展示:
public void whyNoReturnType() {
// 假設(shè)java方法簽名定義包含方法返回值類型, 方法現(xiàn)有 String 和 int 兩種類型返回值
// 這行代碼編譯器可以找到返回值為 String 類型的重載方法
String s = m123(456);
// 而這行代碼, 編譯器無法確定你需要哪個(gè)重載版本, 因?yàn)榉祷刂当簧釛壛? 造成了一種模棱兩可的局面
m123(567);
}
類似的,示例二:
public void whyNoReturnType2() {
System.out.println(m123(456));
}
第二個(gè)示例代碼相對更簡單,從另外一個(gè)角度看,println 方法我們會在監(jiān)控輸出的時(shí)候經(jīng)常使用到,而需要注意到的是 println 方法有許多重載方法,如下圖:

在示例二中,如果m123() 方法有多個(gè)返回值,那么編譯器就無法為 println() 方法決定到底要調(diào)用返回值是 String 的方法還是 返回值是 int 的方法。即陷入了一種“模棱兩可”的局面。
總結(jié):
通過兩個(gè)示例展示了,java為了避免編譯器無法從所有上下文中找出重載而陷入“模棱兩可”的局面,因此java方法簽名中只有兩個(gè)要素:方法名稱和參數(shù)列表。不包含返回值類型。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決JDBC連接Mysql長時(shí)間無動作連接失效的問題
這篇文章主要介紹了解決JDBC連接Mysql長時(shí)間無動作連接失效的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
SpringBoot整合MOTT動態(tài)讀取數(shù)據(jù)庫連接信息并連接MQTT服務(wù)端
MQTT是一種輕量級的消息傳輸協(xié)議(Message Queuing Telemetry Transport),旨在實(shí)現(xiàn)設(shè)備之間的低帶寬和高延遲的通信,本文給大家介紹了SpringBoot整合MOTT動態(tài)讀取數(shù)據(jù)庫連接信息并連接MQTT服務(wù)端,需要的朋友可以參考下2024-04-04
java如何實(shí)現(xiàn)項(xiàng)目啟動時(shí)執(zhí)行指定方法
這篇文章主要為大家詳細(xì)介紹了java項(xiàng)目如何啟動時(shí)執(zhí)行指定方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Java動態(tài)線程池插件dynamic-tp集成過程淺析
這篇文章主要介紹了Java動態(tài)線程池插件dynamic-tp集成過程,dynamic-tp是一個(gè)輕量級的動態(tài)線程池插件,它是一個(gè)基于配置中心的動態(tài)線程池,線程池的參數(shù)可以通過配置中心配置進(jìn)行動態(tài)的修改2023-03-03
SpringMVC 傳日期參數(shù)到后臺的實(shí)例講解
下面小編就為大家分享一篇SpringMVC 傳日期參數(shù)到后臺的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Spring自動裝配Bean實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Spring自動裝配Bean實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
SpringBoot雪花算法主鍵ID傳到前端后精度丟失問題的解決
本文主要介紹了SpringBoot雪花算法主鍵ID傳到前端后精度丟失問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

