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

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

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

Jun 24, 2025 pm 07:29 PM
變量 final

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

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

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


final具有原始變量

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

最終int max_speed = 100;
max_speed = 120; //編譯錯誤!

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


final對象參考

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

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

因此, final在這里不會使對象不可變,而只會引用對象。


何時以及為什么使用final變量

使用final一些實際原因:

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

final閃耀的一些常見地方:

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

您通常會看到它用于防御性編碼樣式或構(gòu)建不可變的物體時使用的。


要記住的幾件事

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

例如:

公共班級{
    私有最終字符串名稱;

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

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


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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

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

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

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

PHP7中引入了嚴(yán)格模式,該模式可以幫助開發(fā)者減少潛在的錯誤。本文將介紹什么是嚴(yán)格模式以及如何在PHP7中使用嚴(yán)格模式來減少錯誤。同時,將通過代碼示例演示嚴(yán)格模式的應(yīng)用。一、什么是嚴(yán)格模式?嚴(yán)格模式是PHP7中的一個特性,它可以幫助開發(fā)者編寫更規(guī)范的代碼,減少一些常見的錯誤。在嚴(yán)格模式下,會對變量的聲明、類型檢查、函數(shù)調(diào)用等進行嚴(yán)格的限制和檢測。通

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)常會遇到final、finally、finalize這三個關(guān)鍵詞,它們雖然拼寫相似,但卻有不同的含義和用法。本文將詳細解釋這三個關(guān)鍵詞的區(qū)別,同時給出代碼示例以幫助讀者更好地理解。一、final關(guān)鍵字final關(guān)鍵字可以用于類、方法和變量。它的作用是使被修飾的類

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

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

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

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

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

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

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

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

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

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

See all articles