對Static、final、Static final這幾個關鍵字熟悉又陌生?想說卻又不知怎麼準確說出口?好的,這篇文章將簡短概要出他們之間的各自的使用,希望各位要是被你的面試官問到了,也能從容的回答...
static
載入:static在類別載入時初始化(載入)完成
意思:Static意為靜態的,但凡被static修飾說明屬於類別,不屬於類別的物件。
可修飾:Static 可以修飾 內部類別、方法、成員變數、程式碼區塊
。
不可修飾:Static不可修飾外部類別、局部變數
【static 屬於類別的,局部變數屬於其方法,並不屬於類別】
注意:static
方法不能相容this
關鍵字【static代表類別層次,this代表目前類別的物件】
引發問題:建構方法是靜態方法嗎? 【不是,建構方法可以有this】
static主要作用:方便呼叫沒有建立物件的方法/變數。
關於static,部落客特地寫了一篇博客,如果對final概念不是特別清晰,大家可以看看
程式設計師你真的理解static嗎?
final
載入:final可以在編譯(類別載入)時初始化,也可以在執行時初始化,初始化後不能被改變。
可修飾:類別、內部類別、方法、成員變數、局部變數、基本型別、參考型別
。
意思:final「最終的」的意思,在Java中又有意為常數的意思,也就是被final修飾的只能進行一次初始化!
被final修飾各種所蘊含的特殊意義:
1、 final 修飾基本型別:值不能被修改;
2、final 修飾引用型別:引用不可以被修改也就是說不能指向其他對象,但是該引用的對象內容可以被修改;
3、final 修飾方法,方法不可以重寫,但是可以被子類別存取【前提:方法不是private 類型】。
4、final 修飾 類,類別不可以被繼承。
關於final,博主特地寫了一篇博客,如果對final概念不是特別清晰,值得大家看看
程式設計師你真的理解final關鍵字嗎?
Static final
意思:字面上也可以知道,它代表Static與final二者的共同體。
可修飾:依舊是取二者的共同體,所以只能修飾成員變數、方法、內部類別
,被Static final修飾意義分別如下:
1、成員變數:屬於類別的變數且只能賦值一次。
2、方法:屬於類別的方法且不可以被重寫。
3、內部類:屬於外部類,且不能被繼承
本篇文章只是簡短概要它們之間的使用,希望各位要是被面試官問到了,也能從容的回答...若有不正之處,希望諒解並歡迎批評指正。
本文來自 java入門 欄目,歡迎學習!
以上是詳解java中Static、final、Static final的各種用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!