一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - 深入理解java中的null“類型”

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

2021-03-29 10:41明明如月小角落 JAVA教程

這篇文章主要介紹了深入理解java中的null“類型”,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是java中的null類型”的相關實例,具體介紹如下。

先給出一道簡單的null相關的題目,引發我們對null的探討,后面會根據官方語言手冊對null“類型”進行解讀。

題目:下面程序能正確運行嗎?

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

解析:

輸出應該為 :haha

因為null 是可以強轉為任何類類型的,所以前面((null)null)是合法的,但是null強轉以后是無效對象,其返回值為null,(后面會作解釋)

而haha方法是靜態方法,靜態方法使用靜態綁定,不會拋出空指針異常。

如果把haha()函數變為非靜態之后,將會拋出空指針異常。

再來一個例子:

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

這道題其實和上面是差不多的。

結果還是輸出“haha”

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

java language specification中我們可以看到

在4.1. the kinds of types and values一節中提到:

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語言中有兩種類型,一種是基本類型,還有一種是引用類型

還有一個特殊的null類型即表達式null的類型,它沒有名字。

因為null類型沒有名字,所以不可能聲明為null類型的變量或者轉換為null類型。

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

null引用可以轉換為任意引用類型。

實際上,程序員可以忽略null類型,可以認為null僅僅是一個可以成為任何引用類型的特殊符號。

看了這個一段,就比較豁然開朗了。

在5.2. assignment conversion一節中:

“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”

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

在5.3. method invocation conversion這一節有:

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

即“null可以被轉換為任何引用類型。”

通過官方的語言手冊,對null類型有了非常深刻的理解。

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

最后希望大家遇到一些奇怪的問題,除了百度外,盡量多去stack overflow網站上去搜索,也多去查官方手冊。

總結

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

原文鏈接:http://blog.csdn.net/w605283073/article/details/72896651

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91夜色视频 | 婷综合 | 国产精品嫩草影院一二三区 | 免费成年网 | 婷婷99视频精品全部在线观看 | 午夜精品久久久久 | 激情文学综合网 | 色屁屁www | 男人的天堂comwww | 精品视频 久久久 | 亚洲 欧美 国产 综合久久 | 四虎影视地址 | 欧美国产日产精品免费视频 | 亚洲视频在线一区二区三区 | 黑人巨鞭大战白妞10级 | 成人永久免费视频 | 美女张开腿黄网站免费精品动漫 | 国语刺激对白勾搭视频在线观看 | 日韩xx00 | 欧美va免费大片 | 痴mu动漫成年动漫在线观看 | 色哟哟精品| 好爽好粗 | 91在线免费看 | 婷婷丁香视频 | 日韩精品视频在线播放 | 欧美生活一级片 | 亚洲啊v天堂 | 日本xxwwwxxxx | 三级视频中文字幕 | 免费在线视频观看 | 欧美办公室激情videos高清 | 欧美1 | 亚洲欧美日韩国产综合专区 | 奇米影视奇米色777欧美 | 久久视频在线视频观看天天看视频 | 日本最大的黄色网站 | 鬼畜重口高h合集长短篇 | 99久久国产综合精麻豆 | 国产成人a v在线影院 | 国产免费资源高清小视频在线观看 |