java中的Static、final、Static final各種用法

宜春發表於2020-01-29

前言
對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、內部類:屬於外部類,且不能被繼承

本篇文章只是簡短概要它們之間的使用,希望各位要是被面試官問到了,也能從容的回答…若有不正之處,希望諒解並歡迎批評指正。

如果本文對你有一點點幫助,那麼請點個讚唄,謝謝~

最後,若有不足或者不正之處,歡迎指正批評,感激不盡!如果有疑問歡迎留言,絕對第一時間回覆!

歡迎各位關注我的公眾號,一起探討技術,嚮往技術,追求技術,說好了來了就是盆友喔…

在這裡插入圖片描述

相關文章