溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Java中使用this,static,final,const

發(fā)布時(shí)間:2021-05-10 17:29:01 來(lái)源:億速云 閱讀:164 作者:Leah 欄目:編程語(yǔ)言

本篇文章為大家展示了如何在Java中使用this,static,final,const,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

Java有哪些集合類

Java中的集合主要分為四類:1、List列表:有序的,可重復(fù)的;2、Queue隊(duì)列:有序,可重復(fù)的;3、Set集合:不可重復(fù);4、Map映射:無(wú)序,鍵唯一,值不唯一。

一、this

用類名定義一個(gè)變量的時(shí)候,定義的應(yīng)該只是一個(gè)引用,外面可以通過(guò)這個(gè)引用來(lái)訪問(wèn)這個(gè)類里面的屬性和方法,那們類里面是夠也應(yīng)該有一個(gè)引用來(lái)訪問(wèn)自己的屬性和方法納?JAVA提供了一個(gè)很好的東西,就是 this 對(duì)象,它可以在類里面來(lái)引用這個(gè)類的屬性和方法。

Java關(guān)鍵字this只能用于方法方法體內(nèi)。當(dāng)一個(gè)對(duì)象創(chuàng)建后,Java虛擬機(jī)(JVM)就會(huì)給這個(gè)對(duì)象分配一個(gè)引用自身的指針,這個(gè)指針的名字就是 this。因此,this只能在類中的非靜態(tài)方法中使用,靜態(tài)方法和靜態(tài)的代碼塊中絕對(duì)不能出現(xiàn)this,這在“Java關(guān)鍵字static、final 使用總結(jié)”一文中給出了明確解釋。并且this只和特定的對(duì)象關(guān)聯(lián),而不和類關(guān)聯(lián),同一個(gè)類的不同對(duì)象有不同的this。

總結(jié)一下 ,this主要要三種用法:

1、表示對(duì)當(dāng)前對(duì)象的引用!

2、表示用類的成員變量,而非函數(shù)參數(shù),注意在函數(shù)參數(shù)和成員變量同名是進(jìn)行區(qū)分!其實(shí)這是第一種用法的特例,比較常用,所以那出來(lái)強(qiáng)一下。

3、用于在構(gòu)造方法中引用滿足指定參數(shù)類型的構(gòu)造器(其實(shí)也就是構(gòu)造方法)。但是這里必須非常注意:只能引用一個(gè)構(gòu)造方法且必須位于開(kāi)始!        

注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒(méi)有this的方法!雖然夸張,但是卻充分說(shuō)明this不能在static方法中使用!

二、static

static表示“全局”或者“靜態(tài)”的意思,用來(lái)修飾成員變量和成員方法,也可以形成靜態(tài)static代碼塊,但是Java語(yǔ)言中沒(méi)有全局變量的概念。 

被static修飾的成員變量和成員方法獨(dú)立于該類的任何對(duì)象。也就是說(shuō),它不依賴類特定的實(shí)例,被類的所有實(shí)例共享。

只要這個(gè)類被加載,Java虛擬機(jī)就能根據(jù)類名在運(yùn)行時(shí)數(shù)據(jù)區(qū)的方法區(qū)內(nèi)定找到他們。因此,static對(duì)象可以在它的任何對(duì)象創(chuàng)建之前訪問(wèn),無(wú)需引用任何對(duì)象。 

用public修飾的static成員變量和成員方法本質(zhì)是全局變量和全局方法,當(dāng)聲明它類的對(duì)象市,不生成static變量的副本,而是類的所有實(shí)例共享同一個(gè)static變量。 

static變量前可以有private修飾,表示這個(gè)變量可以在類的靜態(tài)代碼塊中,或者類的其他靜態(tài)成員方法中使用(當(dāng)然也可以在非靜態(tài)成員方法中使用--廢話),但是不能在其他類中通過(guò)類名來(lái)直接引用,這一點(diǎn)很重要。實(shí)際上你需要搞明白,private是訪問(wèn)權(quán)限限定,static表示不要實(shí)例化就可以使用,這樣就容易理解多了。static前面加上其它訪問(wèn)權(quán)限關(guān)鍵字的效果也以此類推。

三、final和const

final這個(gè)關(guān)鍵字的含義是“這是無(wú)法改變的”或者“終態(tài)的”;

1.修飾變量

final成員變量表示常量,只能被賦值一次,賦值后值不再改變。

2.修飾方法

final方法不能被子類方法覆蓋,但可以被繼承。

3.修飾類

final類不能被繼承,沒(méi)有子類,final類中所有方法都是final的。

const是Java預(yù)留關(guān)鍵字,用于后期擴(kuò)展用,用法跟final相似,不常用

上述內(nèi)容就是如何在Java中使用this,static,final,const,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI