您好,登錄后才能下訂單哦!
本篇內容介紹了“Java中this,static,final,const使用方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、this
用類名定義一個變量的時候,定義的應該只是一個引用,外面可以通過這個引用來訪問這個類里面的屬性和方法,那們類里面是夠也應該有一個引用來訪問自己的屬性和方法納?JAVA提供了一個很好的東西,就是 this 對象,它可以在類里面來引用這個類的屬性和方法。
Java關鍵字this只能用于方法方法體內。當一個對象創建后,Java虛擬機(JVM)就會給這個對象分配一個引用自身的指針,這個指針的名字就是 this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的代碼塊中絕對不能出現this,這在“Java關鍵字static、final 使用總結”一文中給出了明確解釋。并且this只和特定的對象關聯,而不和類關聯,同一個類的不同對象有不同的this。
總結一下 ,this主要要三種用法:
1、表示對當前對象的引用!
2、表示用類的成員變量,而非函數參數,注意在函數參數和成員變量同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強一下。
3、用于在構造方法中引用滿足指定參數類型的構造器(其實也就是構造方法)。但是這里必須非常注意:只能引用一個構造方法且必須位于開始!
注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒有this的方法!雖然夸張,但是卻充分說明this不能在static方法中使用!
二、static
static表示“全局”或者“靜態”的意思,用來修飾成員變量和成員方法,也可以形成靜態static代碼塊,但是Java語言中沒有全局變量的概念。
被static修飾的成員變量和成員方法獨立于該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享。
只要這個類被加載,Java虛擬機就能根據類名在運行時數據區的方法區內定找到他們。因此,static對象可以在它的任何對象創建之前訪問,無需引用任何對象。
用public修飾的static成員變量和成員方法本質是全局變量和全局方法,當聲明它類的對象市,不生成static變量的副本,而是類的所有實例共享同一個static變量。
static變量前可以有private修飾,表示這個變量可以在類的靜態代碼塊中,或者類的其他靜態成員方法中使用(當然也可以在非靜態成員方法中使用--廢話),但是不能在其他類中通過類名來直接引用,這一點很重要。實際上你需要搞明白,private是訪問權限限定,static表示不要實例化就可以使用,這樣就容易理解多了。static前面加上其它訪問權限關鍵字的效果也以此類推。
三、final和const
final這個關鍵字的含義是“這是無法改變的”或者“終態的”;
1.修飾變量
final成員變量表示常量,只能被賦值一次,賦值后值不再改變。
2.修飾方法
final方法不能被子類方法覆蓋,但可以被繼承。
3.修飾類
final類不能被繼承,沒有子類,final類中所有方法都是final的。
const是Java預留關鍵字,用于后期擴展用,用法跟final相似,不常用
“Java中this,static,final,const使用方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。