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

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

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

Jun 24, 2025 pm 07:29 PM
變量 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í),這意味著變量的值在分配后無(wú)法更改。這聽起來(lái)很簡(jiǎn)單,但是有一些細(xì)微差別,具體取決于該變量是原始類型還是對(duì)象引用。


final具有原始變量

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

最終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ò)誤
  • 參考無(wú)法更改 - 這意味著您無(wú)法將新對(duì)象分配給names 。
  • 但是仍然可以修改對(duì)象本身- 因此允許從列表中添加或刪除元素。

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


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

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

  • 避免意外重新分配:在大型方法或復(fù)雜邏輯中特別有用。
  • 不變性和線程安全性:在多線程環(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)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

使用Windows 11和10環(huán)境變量進(jìn)行配置文件操作指南 使用Windows 11和10環(huán)境變量進(jìn)行配置文件操作指南 Nov 01, 2023 pm 08:13 PM

環(huán)境變量是運(yùn)行應(yīng)用和程序的位置路徑(或環(huán)境)。它們可以由用戶創(chuàng)建、編輯、管理或刪除,并在管理某些進(jìn)程的行為時(shí)派上用場(chǎng)。下面介紹如何創(chuàng)建配置文件以同時(shí)管理多個(gè)變量,而無(wú)需在Windows上單獨(dú)編輯它們。如何在環(huán)境變量中使用配置文件Windows11和10在Windows上,有兩組環(huán)境變量–用戶變量(應(yīng)用于當(dāng)前用戶)和系統(tǒng)變量(全局應(yīng)用)。但是,使用像PowerToys這樣的工具,您可以創(chuàng)建一個(gè)單獨(dú)的配置文件來(lái)添加新的和現(xiàn)有的變量并一次管理它們。方法如下:步驟1:安裝PowerToysPowerTo

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

PHP7中引入了嚴(yán)格模式,該模式可以幫助開發(fā)者減少潛在的錯(cuò)誤。本文將介紹什么是嚴(yán)格模式以及如何在PHP7中使用嚴(yán)格模式來(lái)減少錯(cuò)誤。同時(shí),將通過代碼示例演示嚴(yán)格模式的應(yīng)用。一、什么是嚴(yán)格模式?嚴(yán)格模式是PHP7中的一個(gè)特性,它可以幫助開發(fā)者編寫更規(guī)范的代碼,減少一些常見的錯(cuò)誤。在嚴(yán)格模式下,會(huì)對(duì)變量的聲明、類型檢查、函數(shù)調(diào)用等進(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ū)別,需要具體代碼示例在Java編程中,經(jīng)常會(huì)遇到final、finally、finalize這三個(gè)關(guān)鍵詞,它們雖然拼寫相似,但卻有不同的含義和用法。本文將詳細(xì)解釋這三個(gè)關(guān)鍵詞的區(qū)別,同時(shí)給出代碼示例以幫助讀者更好地理解。一、final關(guān)鍵字final關(guān)鍵字可以用于類、方法和變量。它的作用是使被修飾的類

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

Java中的實(shí)例變量是指定義在類中,而不是方法或構(gòu)造函數(shù)中的變量。實(shí)例變量也稱為成員變量,每個(gè)類的實(shí)例都有自己的一份實(shí)例變量副本。實(shí)例變量在創(chuàng)建對(duì)象的過程中被初始化,以及在對(duì)象的生命周期中保存并保持其狀態(tài)。實(shí)例變量的定義通常放在類的頂部,可以用任何訪問修飾符來(lái)聲明,可以是public、private、protected或默認(rèn)訪問修飾符。這取決于我們希望這個(gè)變

Python 語(yǔ)法的思維導(dǎo)圖:深入理解代碼結(jié)構(gòu) Python 語(yǔ)法的思維導(dǎo)圖:深入理解代碼結(jié)構(gòu) Feb 21, 2024 am 09:00 AM

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

如何使用Ajax從PHP方法中獲取變量? 如何使用Ajax從PHP方法中獲取變量? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法中獲取變量是Web開發(fā)中常見的場(chǎng)景,通過Ajax可以實(shí)現(xiàn)頁(yè)面無(wú)需刷新即可動(dòng)態(tài)獲取數(shù)據(jù)。在本文中,將介紹如何使用Ajax從PHP方法中獲取變量,并提供具體的代碼示例。首先,我們需要編寫一個(gè)PHP文件來(lái)處理Ajax請(qǐng)求,并返回所需的變量。下面是一個(gè)簡(jiǎn)單的PHP文件getData.php的示例代碼:

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

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

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

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

See all articles