欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年06月24日 15:32:35   作者:獨(dú)角沒有戲  
這篇文章主要介紹了Java方法簽名為何不包含返回值類型,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

看下官方說明:

意思是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è)示例代碼相對(duì)更簡(jiǎn)單,從另外一個(gè)角度看,println 方法我們會(huì)在監(jiān)控輸出的時(shí)候經(jīng)常使用到,而需要注意到的是 println 方法有許多重載方法,如下圖:

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

總結(jié):

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 數(shù)組實(shí)現(xiàn)Java 自定義Queue隊(duì)列及應(yīng)用操作

    數(shù)組實(shí)現(xiàn)Java 自定義Queue隊(duì)列及應(yīng)用操作

    這篇文章主要介紹了數(shù)組實(shí)現(xiàn)Java 自定義Queue隊(duì)列及應(yīng)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java 數(shù)據(jù)的加密與解密普遍實(shí)例代碼

    java 數(shù)據(jù)的加密與解密普遍實(shí)例代碼

    本篇文章介紹了一個(gè)關(guān)于密鑰查詢的jsp文件簡(jiǎn)單實(shí)例代碼,需要的朋友可以參考下
    2017-04-04
  • Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析

    Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Springboot簡(jiǎn)單熱部署實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • SpringBoot整合MyBatis四種常用的分頁方式(詳細(xì)總結(jié))

    SpringBoot整合MyBatis四種常用的分頁方式(詳細(xì)總結(jié))

    這篇文章詳細(xì)給大家總結(jié)了SpringBoot整合MyBatis四種常用的分頁方式,文中通過代碼示例為大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 如何將Object類轉(zhuǎn)換為實(shí)體類

    如何將Object類轉(zhuǎn)換為實(shí)體類

    這篇文章主要介紹了如何將Object類轉(zhuǎn)換為實(shí)體類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • java中線程掛起的幾種方式詳解

    java中線程掛起的幾種方式詳解

    這篇文章主要介紹了java中線程掛起的幾種方式詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • java Thread 多線程

    java Thread 多線程

    本篇文章小編為大家介紹,java Thread 多線程。需要的朋友參考下
    2013-04-04
  • Java中printStackTrace()用法示例

    Java中printStackTrace()用法示例

    這篇文章主要給大家介紹了關(guān)于Java中printStackTrace()用法的相關(guān)資料,printStackTrace()方法一般與拋出異常搭配使用,效果是打印出異常位置,需要的朋友可以參考下
    2024-05-05
  • Spring中常用注解的用法

    Spring中常用注解的用法

    這篇文章主要介紹了Spring中常用注解的用法,Spring注解方式減少了配置文件內(nèi)容,更加便于管理,并且使用注解可以大大提高了開發(fā)效率,注解本身是沒有功能的,和xml一樣,注解和xml都是一種元數(shù)據(jù),元數(shù)據(jù)即解釋數(shù)據(jù)的數(shù)據(jù),也就是所謂的配置,需要的朋友可以參考下
    2023-08-08
  • Java8 stream 中利用 groupingBy 進(jìn)行多字段分組求和案例

    Java8 stream 中利用 groupingBy 進(jìn)行多字段分組求和案例

    這篇文章主要介紹了Java8 stream 中利用 groupingBy 進(jìn)行多字段分組求和案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評(píng)論