java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處
static
1.在類中,用static修飾的屬性,稱為靜態(tài)屬性。為這個(gè)類的所有對(duì)象所共有,存放在靜態(tài)存儲(chǔ)區(qū),所有該類的對(duì)象都可以訪問且訪問的都是同一變量??梢杂米饔?jì)數(shù)器,來(lái)統(tǒng)計(jì)總共創(chuàng)建了多少個(gè)各類的對(duì)象。
2.在類中,用static 修飾的方法為靜態(tài)方法,在靜態(tài)方法中不可以訪問非靜態(tài)的屬性和方法,但在非靜態(tài)方法中可以訪問靜態(tài)方法和屬性;且static方法多態(tài)失效,不能使用this。
3.由于靜態(tài)屬性和方法是屬于該類的所有對(duì)象的,所以可以用類名.靜態(tài)屬性/方法名---來(lái)訪問。
4.static 還可以修飾代碼塊,在類加載的時(shí)候被執(zhí)行1次,僅且一次。
final
(1)final標(biāo)記的類不能被繼承
final class T{}
class TT extends T{}//出錯(cuò),final類不能被繼承
(2)final標(biāo)記的方法不能被子類重寫
class T{
public final void function(){}
}
class TT extends T{
public void function(){}//出錯(cuò),final方法不能被子類重寫
}
(3)final標(biāo)記的局部變量為常量
final int x=10;
x=3//出錯(cuò),final標(biāo)記的局部變量為常量,不能被賦值
(4)final標(biāo)記的成員變量必須在聲明的同時(shí)賦值,或在該類的構(gòu)造方法中顯示賦值(實(shí)例變量沒有默認(rèn)值),然后才能使用。
如:
class Test{
final int x=10;//聲明并賦值
}
//或者
class Test{
final int x;
Test(){
x=10;
}
(5)方法中定義的內(nèi)置類只能訪問該方法內(nèi)的final類型的局部變量,用final定義的局部變量相當(dāng)于一個(gè)常量,它的生命周期長(zhǎng)于方法運(yùn)行的生命周期。
(6)將一個(gè)形參定義成final也是可以的,這就限制了在方法中修改形參的值范圍。
java中有許多的類為final類型:String ,Math等等。
相關(guān)文章
SpringBoot配置Actuator組件,實(shí)現(xiàn)系統(tǒng)監(jiān)控
在生產(chǎn)環(huán)境中,需要實(shí)時(shí)或定期監(jiān)控服務(wù)的可用性。Spring Boot的actuator(健康監(jiān)控)功能提供了很多監(jiān)控所需的接口,可以對(duì)應(yīng)用系統(tǒng)進(jìn)行配置查看、相關(guān)功能統(tǒng)計(jì)等。2021-06-06SpringCloud添加客戶端Eureka Client過程解析
這篇文章主要介紹了SpringCloud添加客戶端Eureka Client過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03微信小程序獲取手機(jī)號(hào),后端JAVA解密流程代碼
這篇文章主要介紹了微信小程序獲取手機(jī)號(hào),后端JAVA解密流程的代碼,幫助大家更好的利用Java開發(fā),感興趣的朋友可以了解下2020-09-09Idea 解決 Could not autowire. No beans of ''xxxx'' type found
這篇文章主要介紹了Idea 解決 Could not autowire. No beans of 'xxxx' type found 的錯(cuò)誤提示,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-01-01Java實(shí)現(xiàn)文件或文件夾的復(fù)制到指定目錄實(shí)例
本篇文章主要介紹了Java實(shí)現(xiàn)文件或文件夾的復(fù)制到指定目錄實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03使用Java實(shí)現(xiàn)DNS域名解析的簡(jiǎn)單示例
這篇文章主要介紹了使用Java實(shí)現(xiàn)DNS域名解析的簡(jiǎn)單示例,包括對(duì)一個(gè)動(dòng)態(tài)IP主機(jī)的域名解析例子,需要的朋友可以參考下2015-10-10async-excel實(shí)現(xiàn)多sheet異步導(dǎo)出方法詳解
這篇文章主要介紹了async-excel實(shí)現(xiàn)多sheet異步導(dǎo)出方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12SpringBoot中的靜態(tài)資源訪問的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot中的靜態(tài)資源訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09