編程基礎(chǔ)之Java中final是什么意思

編程基礎(chǔ)之Java中final是什么意思

北大青鳥(niǎo)長(zhǎng)沙麓谷校區(qū)      2022-03-21 16:50:01     10

編程基礎(chǔ)之Java中final是什么意思,Java中的final是一個(gè)關(guān)鍵字,它含義是恒定不變的。final數(shù)據(jù)具體有兩個(gè)含義:1.對(duì)于基本數(shù)據(jù)類(lèi)型,表示永不改變的編譯時(shí)常量。2.

課程價(jià)格 請(qǐng)咨詢(xún)

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

Java中的final是一個(gè)關(guān)鍵字,它含義是恒定不變的。

final數(shù)據(jù)具體有兩個(gè)含義:

1.對(duì)于基本數(shù)據(jù)類(lèi)型,表示永不改變的編譯時(shí)常量。

2.對(duì)于普通對(duì)象,表示該引用恒定不變,不能指向另外一個(gè)對(duì)象,但是該對(duì)象本身是可以進(jìn)行修改的。

因此有以下幾個(gè)注意點(diǎn):

1.在類(lèi)中的static final屬性,表示占據(jù)一段不能改變的存儲(chǔ)空間,必須在聲明中初始化,在構(gòu)造中不能初始化。

2.類(lèi)中的final屬性,因?yàn)椴皇莝tatic值,可以在每次的構(gòu)造函數(shù)中聲明。

注意,被final聲明的屬性,只能被初始化一次!非static每個(gè)實(shí)例中最多初始化一次。static的在類(lèi)的創(chuàng)建中只能初始化一次!

3.對(duì)于final修飾的對(duì)象(比如數(shù)組),聲明后可以修改數(shù)組,但不能重新指向新的數(shù)組。

public?class?Test_FinalAndStatic?{????static?final?int?i=1;????final?int?j;????public?Test_FinalAndStatic(int?j){????????//i、j只能被初始化一次?所以j在聲明中不能初始化????????this.j=j;?????????//同時(shí)?i只能在聲明中初始化,不能在構(gòu)造中初始化????}????final?int[]?is=new?int[]{1,2,3};????//被final修飾的引用一旦被初始化指向一個(gè)對(duì)象,就不能再改變,但該對(duì)象自身可以改變????//is=new?int[]{3,2,1};?error????public?void?dois(){????????//is對(duì)象自身可以改變????????is[0]=4;????????System.out.print("is=");????????for(int?w:is){??????????????System.out.println(w+":");????????}????}????public?void?showi(){????????System.out.println("i="+i);????//??i只能占據(jù)一段不能改變的存儲(chǔ)空間?????//??i++;?error????//??i=5;?error????}????public?void?showj(){????????System.out.println("j="+j);????//??j++;?error????//??j=2;?error????}????@Override????public?String?toString(){????????dois();showi();showj();????????return?null;?????????????}????public?static?void?main(String[]args){????????Test_FinalAndStatic?t1=new?Test_FinalAndStatic(100);????????t1.toString();????????Test_FinalAndStatic?t2=new?Test_FinalAndStatic(200);????????t2.toString();????}}結(jié)果:is=4:2:3:i=1j=100is=4:2:3:i=1j=200

final參數(shù):

在消息中的參數(shù)通過(guò)final修飾,則表示在消息中不能改變參數(shù)引用所指向的對(duì)象。

final方法:

1.鎖定方法,防止任何繼承類(lèi)改變它的含義,保證不被覆蓋。

2.同意編譯器將該方法的所有調(diào)用改為內(nèi)嵌調(diào)用,提高效率。不過(guò)現(xiàn)在已不提倡。

3.所有private方法都隱式指定為final。由于無(wú)法取得private方法,自然也就無(wú)法重寫(xiě)。

final類(lèi):

不可繼承,不可改變,不能有子類(lèi)。

Java技術(shù)內(nèi)容

Java中final關(guān)鍵字的作用:http://www.bjpowernode.com/tutorial_java_advance/607.html

以上就是北大青鳥(niǎo)長(zhǎng)沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程基礎(chǔ)之Java中final是什么意思”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過(guò)大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。