最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解java中的null“類型”

 更新時(shí)間:2018年01月31日 15:29:13   作者:明明如月小角落  
這篇文章主要介紹了深入理解java中的null“類型”,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是java中的null“類型”的相關(guān)實(shí)例,具體介紹如下。

先給出一道簡(jiǎn)單的null相關(guān)的題目,引發(fā)我們對(duì)null的探討,后面會(huì)根據(jù)官方語(yǔ)言手冊(cè)對(duì)null“類型”進(jìn)行解讀。

題目:下面程序能正確運(yùn)行嗎?

解析:

輸出應(yīng)該為 :haha

因?yàn)閚ull 是可以強(qiáng)轉(zhuǎn)為任何類類型的,所以前面((NULL)null)是合法的,但是null強(qiáng)轉(zhuǎn)以后是無(wú)效對(duì)象,其返回值為null,(后面會(huì)作解釋)

而haha方法是靜態(tài)方法,靜態(tài)方法使用靜態(tài)綁定,不會(huì)拋出空指針異常。

如果把haha()函數(shù)變?yōu)榉庆o態(tài)之后,將會(huì)拋出空指針異常。

再來(lái)一個(gè)例子:

這道題其實(shí)和上面是差不多的。

結(jié)果還是輸出“haha”

Java Language Specification中我們可以看到

在4.1. The Kinds of Types and Values一節(jié)中提到:

There are two kinds of types in the Java programming language: primitive types (§4.2) and reference types (§4.3). ”
Type:
PrimitiveType
ReferenceType
There is also aspecial null type, the type of the expression null (§3.10.7, §15.8.1), which has no name.
Because the null type has no name, it is impossible to declare a variable of the null type or to cast to the null type.
The null reference is the only possible value of an expression of null type.
The null reference can always undergo a widening reference conversion to any reference type.
In practice, the programmer can ignore the null type and just pretend that null is merely a special literal that can be of any reference type.

我給翻譯一下:

Java語(yǔ)言中有兩種類型,一種是基本類型,還有一種是引用類型。

還有一個(gè)特殊的null類型即表達(dá)式null的類型,它沒(méi)有名字。

因?yàn)閚ull類型沒(méi)有名字,所以不可能聲明為null類型的變量或者轉(zhuǎn)換為null類型。

null引用是null類型表達(dá)式唯一可能的值。

null引用可以轉(zhuǎn)換為任意引用類型。

實(shí)際上,程序員可以忽略null類型,可以認(rèn)為null僅僅是一個(gè)可以成為任何引用類型的特殊符號(hào)。

看了這個(gè)一段,就比較豁然開(kāi)朗了。

在5.2. Assignment Conversion一節(jié)中:

“A value of the null type (the null reference is the only such value) may be assigned to any reference type, resulting in a null reference of that type”

一個(gè)null類型(null(空)引用是這種類型的唯一的一個(gè)值)的值,可以賦值給任意類型,將返回一個(gè)該類型對(duì)象的空引用(其實(shí)還是null)。

在5.3. Method Invocation Conversion這一節(jié)有:

“A value of the null type (the null reference is the only such value) may be converted to any reference type.”

即“null可以被轉(zhuǎn)換為任何引用類型?!?/p>

通過(guò)官方的語(yǔ)言手冊(cè),對(duì)null類型有了非常深刻的理解。

對(duì)我們編程以及以后求職筆試面試都有一定的幫助。

最后希望大家遇到一些奇怪的問(wèn)題,除了百度外,盡量多去Stack Overflow網(wǎng)站上去搜索,也多去查官方手冊(cè)。

總結(jié)

以上就是本文關(guān)于深入理解java中的null“類型”的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能

    這篇文章主要介紹了Java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源)

    SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源)

    本文主要介紹了SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • springboot整合redis實(shí)現(xiàn)發(fā)送郵箱并驗(yàn)證

    springboot整合redis實(shí)現(xiàn)發(fā)送郵箱并驗(yàn)證

    大家好,本篇文章主要講的是springboot整合redis實(shí)現(xiàn)發(fā)送郵箱并驗(yàn)證,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Java IO流之原理分類與節(jié)點(diǎn)流文件操作詳解

    Java IO流之原理分類與節(jié)點(diǎn)流文件操作詳解

    流(Stream)是指一連串的數(shù)據(jù)(字符或字節(jié)),是以先進(jìn)先出的方式發(fā)送信息的通道,數(shù)據(jù)源發(fā)送的數(shù)據(jù)經(jīng)過(guò)這個(gè)通道到達(dá)目的地,按流向區(qū)分為輸入流和輸出流
    2021-10-10
  • java與scala數(shù)組及集合的基本操作對(duì)比

    java與scala數(shù)組及集合的基本操作對(duì)比

    這篇文章主要介紹了java與scala數(shù)組及集合的基本操作對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解maven配置多倉(cāng)庫(kù)的方法示例

    詳解maven配置多倉(cāng)庫(kù)的方法示例

    這篇文章主要介紹了詳解maven配置多倉(cāng)庫(kù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java 入門圖形用戶界面設(shè)計(jì)之事件處理上

    Java 入門圖形用戶界面設(shè)計(jì)之事件處理上

    圖形界面(簡(jiǎn)稱GUI)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶來(lái)說(shuō)在視覺(jué)上更易于接受,本篇精講Java語(yǔ)言中關(guān)于圖形用戶界面的事件處理
    2022-02-02
  • Sonar編譯問(wèn)題對(duì)應(yīng):File [...] can''t be indexed twice.

    Sonar編譯問(wèn)題對(duì)應(yīng):File [...] can''t be indexed twice.

    今天小編就為大家分享一篇關(guān)于Sonar編譯問(wèn)題對(duì)應(yīng):File [...] can't be indexed twice.,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Java 添加數(shù)字簽名到excel及檢測(cè),刪除簽名

    Java 添加數(shù)字簽名到excel及檢測(cè),刪除簽名

    這篇文章主要介紹了Java 添加數(shù)字簽名到excel及檢測(cè),刪除簽名的方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-04-04
  • 使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存

    使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存

    在現(xiàn)代應(yīng)用程序中,查詢緩存的使用已經(jīng)變得越來(lái)越普遍,它不僅能夠顯著提高系統(tǒng)的性能,還能提升用戶體驗(yàn),在這篇文章中,我們將探討緩存的基本概念、重要性以及如何使用Spring Cache和Redis實(shí)現(xiàn)查詢數(shù)據(jù)緩存,需要的朋友可以參考下
    2024-07-07

最新評(píng)論

云林县| 昌乐县| 庆安县| 大港区| 乐至县| 固安县| 日照市| 石景山区| 石首市| 交城县| 富锦市| 淮南市| 英德市| 安乡县| 浏阳市| 永新县| 高密市| 固阳县| 莫力| 水城县| 宾川县| 平舆县| 锡林郭勒盟| 宁国市| 土默特左旗| 泾阳县| 都昌县| 宁安市| 蒙阴县| 贡嘎县| 仙游县| 赫章县| 多伦县| 确山县| 盐津县| 常德市| 新源县| 武乡县| 吉安县| 建始县| 汉中市|