国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
final具有原始變量
final對(duì)象參考
何時(shí)以及為什麼使用final變量
要記住的幾件事
首頁 Java java教程 變量的最終關(guān)鍵字是什麼?

變量的最終關(guān)鍵字是什麼?

Jun 24, 2025 pm 07:29 PM
變數(shù) final

在Java中,最終關(guān)鍵字可以防止變量的值在分配後更改,但其行為在原始和對(duì)象引用方面有所不同。對(duì)於原始變量,最終使值恆定,如Final int max_speed = 100;重新分配會(huì)導(dǎo)致錯(cuò)誤。對(duì)於對(duì)象引用,最終鎖定引用,而不是對(duì)象 - 因此,允許name.Add(“ Alice”),將名稱重新分配到新對(duì)象。最終變量有助於避免意外變化,提高線程安全性,增強(qiáng)代碼清晰度,並且是匿名內(nèi)部類中使用的變量所必需的。它們也可以在稍後初始化(空白的決賽)或在構(gòu)造函數(shù)中設(shè)置,以允許靈活的不可變性類。因此,最終確保恆定值或固定參考,以清潔和更安全的代碼有助於。

變量的最終關(guān)鍵字是什麼?

在Java中,當(dāng)您使用具有變量的final關(guān)鍵字時(shí),這意味著變量的值在分配後無法更改。這聽起來很簡(jiǎn)單,但是有一些細(xì)微差別,具體取決於該變量是原始類型還是對(duì)象引用。


final具有原始變量

當(dāng)您將原始變量(例如int , doubleboolean )聲明為final時(shí),其值將變?yōu)閻a定 - 初始化後無法為其分配新值。

最終int max_speed = 100;
max_speed = 120; //編譯錯(cuò)誤!

這很簡(jiǎn)單:設(shè)置後,該值保持不變。它對(duì)代碼中的常數(shù)很有用,例如配置值或在執(zhí)行過程中不應(yīng)更改的限制。


final對(duì)象參考

這是事情變得有些棘手的地方。如果將對(duì)象引用標(biāo)記為final ,那麼確切的固定是什麼?

最終列表<string> names = new ArrayList <>();
names.Add(“ Alice”); //這很好
名稱= new ArrayList <>(); //編譯錯(cuò)誤
  • 參考無法更改 - 這意味著您無法將新對(duì)象分配給names 。
  • 但是仍然可以修改對(duì)象本身- 因此允許從列表中添加或刪除元素。

因此, final在這裡不會(huì)使對(duì)像不可變,而只會(huì)引用對(duì)象。


何時(shí)以及為什麼使用final變量

使用final一些實(shí)際原因:

  • 避免意外重新分配:在大型方法或複雜邏輯中特別有用。
  • 不變性和線程安全性:在多線程環(huán)境中更容易推理最終變量。
  • 清晰度和可讀性:向其他開發(fā)人員(以及您自己)發(fā)出信號(hào),表明此變量並不意味著要更改。

final閃耀的一些常見地方:

  • 常數(shù)( public static final
  • 匿名內(nèi)部類中使用的本地變量(它們必須是最終或有效最終的)
  • 方法中的配置值

您通常會(huì)看到它用於防禦性編碼樣式或構(gòu)建不可變的物體時(shí)使用的。


要記住的幾件事

  • 您不必總是在聲明時(shí)分配一個(gè)值。
  • final變量稍後可以初始化,但只能進(jìn)行一次 - 這稱為空白最終。
  • 在構(gòu)造函數(shù)中,可以在對(duì)象創(chuàng)建期間分配final字段,這有助於構(gòu)建靈活的不可變性類。

例如:

公共班級(jí){
    私有最終字符串名稱;

    公眾(字符串名稱){
        this.name = name; //允許在構(gòu)造函數(shù)中允許一次
    }
}

這使每個(gè)實(shí)例都有自己的常數(shù)name 。


因此,基本上,使用變量上的final鎖定其值或參考,具體取決於類型。它並不復(fù)雜,但是如果明智地使用,它確實(shí)有助於編寫更清潔,更安全的代碼。

以上是變量的最終關(guān)鍵字是什麼?的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

使用Windows 11和10環(huán)境變數(shù)進(jìn)行設(shè)定檔操作指南 使用Windows 11和10環(huán)境變數(shù)進(jìn)行設(shè)定檔操作指南 Nov 01, 2023 pm 08:13 PM

環(huán)境變數(shù)是運(yùn)行應(yīng)用程式和程式的位置路徑(或環(huán)境)。它們可以由使用者建立、編輯、管理或刪除,並在管理某些進(jìn)程的行為時(shí)派上用場(chǎng)。以下介紹如何建立設(shè)定檔以同時(shí)管理多個(gè)變量,而無需在Windows上單獨(dú)編輯它們。如何在環(huán)境變數(shù)中使用設(shè)定檔Windows11和10在Windows上,有兩組環(huán)境變數(shù)–使用者變數(shù)(應(yīng)用於目前使用者)和系統(tǒng)變數(shù)(全域應(yīng)用)。但是,使用像PowerToys這樣的工具,您可以建立一個(gè)單獨(dú)的設(shè)定檔來新增的和現(xiàn)有的變數(shù)並一次管理它們。方法如下:步驟1:安裝PowerToysPowerTo

PHP7中的變數(shù)的嚴(yán)格模式:如何減少潛在的錯(cuò)誤? PHP7中的變數(shù)的嚴(yán)格模式:如何減少潛在的錯(cuò)誤? Oct 19, 2023 am 10:01 AM

PHP7中引入了嚴(yán)格模式,該模式可以幫助開發(fā)者減少潛在的錯(cuò)誤。本文將介紹什麼是嚴(yán)格模式以及如何在PHP7中使用嚴(yán)格模式來減少錯(cuò)誤。同時(shí),將透過程式碼範(fàn)例演示嚴(yán)格模式的應(yīng)用。一、什麼是嚴(yán)格模式?嚴(yán)格模式是PHP7中的一個(gè)特性,它可以幫助開發(fā)者編寫更規(guī)範(fàn)的程式碼,減少一些常見的錯(cuò)誤。在嚴(yán)格模式下,會(huì)對(duì)變數(shù)的宣告、型別檢查、函數(shù)呼叫等進(jìn)行嚴(yán)格的限制和偵測(cè)。通

Java中final、finally、finalize的區(qū)別 Java中final、finally、finalize的區(qū)別 Feb 19, 2024 pm 12:16 PM

Java中final、finally、finalize的區(qū)別,需要具體程式碼範(fàn)例在Java程式設(shè)計(jì)中,經(jīng)常會(huì)遇到final、finally、finalize這三個(gè)關(guān)鍵字,它們雖然拼字相似,但卻有不同的意思和用法。本文將詳細(xì)解釋這三個(gè)關(guān)鍵字的區(qū)別,同時(shí)給出程式碼範(fàn)例以幫助讀者更好地理解。一、final關(guān)鍵字final關(guān)鍵字可以用於類別、方法和變數(shù)。它的作用是使被修飾的類

什麼是Java中的實(shí)例變數(shù) 什麼是Java中的實(shí)例變數(shù) Feb 19, 2024 pm 07:55 PM

Java中的實(shí)例變數(shù)是指定義在類別中,而不是方法或建構(gòu)子中的變數(shù)。實(shí)例變數(shù)也稱為成員變量,每個(gè)類別的實(shí)例都有自己的一份實(shí)例變數(shù)副本。實(shí)例變數(shù)在創(chuàng)建物件的過程中被初始化,以及在物件的生命週期中保存並保持其狀態(tài)。實(shí)例變數(shù)的定義通常放在類別的頂部,可以用任何存取修飾符來聲明,可以是public、private、protected或預(yù)設(shè)存取修飾符。這取決於我們希望這個(gè)變

Python 語法的心智圖:深入理解程式碼結(jié)構(gòu) Python 語法的心智圖:深入理解程式碼結(jié)構(gòu) Feb 21, 2024 am 09:00 AM

python憑藉其簡(jiǎn)單易讀的語法,廣泛應(yīng)用於廣泛的領(lǐng)域。掌握Python語法的基礎(chǔ)架構(gòu)至關(guān)重要,既可以提高程式效率,又能深入理解程式碼的運(yùn)作方式。為此,本文提供了一個(gè)全面的心智圖,詳細(xì)闡述了Python語法的各個(gè)面向。變數(shù)和資料類型變數(shù)是Python中用於儲(chǔ)存資料的容器。心智圖展示了常見的Python資料類型,包括整數(shù)、浮點(diǎn)數(shù)、字串、布林值和列表。每個(gè)資料類型都有其自身的特性和操作方法。運(yùn)算符運(yùn)算符用於對(duì)資料類型執(zhí)行各種操作。心智圖涵蓋了Python中的不同運(yùn)算子類型,例如算術(shù)運(yùn)算子、比

如何使用Ajax從PHP方法取得變數(shù)? 如何使用Ajax從PHP方法取得變數(shù)? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法取得變數(shù)是Web開發(fā)中常見的場(chǎng)景,透過Ajax可以實(shí)作頁面無需刷新即可動(dòng)態(tài)取得資料。在本文中,將介紹如何使用Ajax從PHP方法中取得變量,並提供具體的程式碼範(fàn)例。首先,我們需要寫一個(gè)PHP檔案來處理Ajax請(qǐng)求,並傳回所需的變數(shù)。下面是一個(gè)簡(jiǎn)單的PHP檔案getData.php的範(fàn)例程式碼:

在Java中,僅使用final關(guān)鍵字可以定義一個(gè)常數(shù)嗎? 在Java中,僅使用final關(guān)鍵字可以定義一個(gè)常數(shù)嗎? Sep 20, 2023 pm 04:17 PM

常量變數(shù)是其值固定且程式中只存在一個(gè)副本的變數(shù)。一旦你聲明了一個(gè)常數(shù)變數(shù)並給它賦值,你就不能在整個(gè)程式中再次改變它的值。與其他語言不同,Java不直接支援常數(shù)。但是,你仍然可以透過宣告一個(gè)變數(shù)為靜態(tài)和final來創(chuàng)建一個(gè)常數(shù)。靜態(tài)-一旦你聲明了一個(gè)靜態(tài)變量,它們將在編譯時(shí)加載到內(nèi)存中,即只有一個(gè)副本可用。 Final-一旦你宣告了一個(gè)final變量,就不能再修改它的值。因此,你可以透過將實(shí)例變數(shù)宣告為靜態(tài)和final來在Java中創(chuàng)建一個(gè)常數(shù)。範(fàn)例?示範(fàn)classData{&am

jQuery使用實(shí)踐:判斷變數(shù)是否為空的幾種方式 jQuery使用實(shí)踐:判斷變數(shù)是否為空的幾種方式 Feb 27, 2024 pm 04:12 PM

jQuery是一個(gè)廣泛應(yīng)用於Web開發(fā)中的JavaScript庫,它提供了許多簡(jiǎn)潔方便的方法來操作網(wǎng)頁元素和處理事件。在實(shí)際開發(fā)中,常會(huì)遇到需要判斷變數(shù)是否為空的情況。本文將介紹使用jQuery判斷變數(shù)是否為空的幾種常用方法,並附上具體的程式碼範(fàn)例。方法一:使用if語句判斷varstr="";if(str){co

See all articles