前言 對Static、final、Static final這幾個關鍵詞熟悉又陌生?想說卻又不知怎麼準確說出口?好的,本篇博客文章將簡短概要出他們之間的各自的使用,希望各位要是被你的面試官問到了,也能從容的回答... static 載入:static在類載入時初始化(載入)完成 含義:Static意為 ...
前言
對Static、final、Static final這幾個關鍵詞熟悉又陌生?想說卻又不知怎麼準確說出口?好的,本篇博客文章將簡短概要出他們之間的各自的使用,希望各位要是被你的面試官問到了,也能從容的回答...
static
載入:static在類載入時初始化(載入)完成
含義:Static意為靜態的,但凡被static 修飾說明屬於類,不屬於類的對象。
可修飾:Static 可以修飾 內部類、方法、成員變數、代碼塊
。
不可修飾:Static不可修飾外部類、局部變數
【static 屬於類的,局部變數屬於其方法,並不屬於類】
註意:static
方法不能相容this
關鍵字【static代表類層次,this代表當前類的對象】
引發問題:構造方法是靜態方法嗎?【不是,構造方法可以有this】
static主要作用:方便調用沒有創建對象的方法/變數。
關於static,博主特地寫了一篇博客,如果對final概念不是特別清晰,大家可以看看
final
載入:final可以在編譯(類載入)時初始化,也可以在運行時初始化,初始化後不能被改變。
可修飾:類、內部類、方法、成員變數、局部變數、基本類型、引用類型
。
含義:final“最終的”的意思,在Java中又有意為常量的意思,也就是被final修飾的只能進行一次初始化!
被final修飾各種所蘊含的特殊意義:
1、 final 修飾基本類型:值不能被修改;
2、final 修飾引用類型:引用不可以被修改也就是說不能指向其他對象,但是該引用的對象內容可以被修改;
3、final 修飾 方法,方法不可以重寫,但是可以被子類訪問 【前提:方法不是 private 類型】。
4、final 修飾 類,類不可以被繼承。
關於final,博主特地寫了一篇博客,如果對final概念不是特別清晰,值得大家看看
Static final
含義:從字面也可以知道,它代表Static與final二者的共同體。
可修飾:依舊是取二者的共同體,所以只能修飾成員變數、方法、內部類
,被Static final修飾意義分別如下:
1、成員變數:屬於類的變數且只能賦值一次。
2、方法:屬於類的方法且不可以被重寫。
3、內部類:屬於外部類,且不能被繼承
本篇文章只是簡短概要它們之間的使用,希望各位要是被面試官問到了,也能從容的回答...若有不正之處,希望諒解並歡迎批評指正。
歡迎各位關註我的公眾號,一起探討技術,嚮往技術,追求技術...