1. 程式人生 > >淺談final修飾的變量

淺談final修飾的變量

這一 article 兩個 數值 detail cnblogs color 存在 http

淺談final修飾的變量

定義:
【以下摘自Java編程思想 第四版】
????根據上下文環境,Java的關鍵字final的含義存在著細微的區別,但通常它指的是“這是無法改變的”。不想做改變可能出於兩種理由:設計或效率。由於這兩個原因相差很遠,所以關鍵字final有可能被誤用。

????一個既是static又是final的域只占據一段不能改變的存儲空間。

????當對對象引用而不是基本類型運用final時,其含義會有一點令人迷惑。對於基本類型,final使數值恒定不變;而用於對象引用,final使引用恒定不變。一旦引用被初始化指向一個對象,就無法再把它改為指向另一個對象。然而,對象其自身卻是可以被修改的,Java並未提供使任何對象恒定不變的途徑(但可以自己編寫類以取得使對象恒定不變的效果)。這一限制同樣適用數組,它也是對象。

技術分享圖片

參考資料:

  • https://www.cnblogs.com/dolphin0520/p/3799052.html
  • https://blog.csdn.net/zhangjk1993/article/details/24196847
  • Java編程思想

淺談final修飾的變量