前言 對Static、final、Static final這幾個關鍵詞熟悉又陌生?想說卻又不知怎麼準確說出口?好的,本篇博客文章將簡短概要出他們之間的各自的使用,但願各位要是被你的面試官問到了,也能從容的回答...程序員
加載:static在類加載時初始化(加載)完成面試
含義:Static意爲靜態的,但凡被static 修飾說明屬於類,不屬於類的對象。this
可修飾:Static 能夠修飾 內部類、方法、成員變量、代碼塊
。.net
不可修飾:Static不可修飾外部類、局部變量
【static 屬於類的,局部變量屬於其方法,並不屬於類】code
注意:static
方法不能兼容this
關鍵字【static表明類層次,this表明當前類的對象】對象
引起問題:構造方法是靜態方法嗎?【不是,構造方法能夠有this】blog
<font color=red>static主要做用:方便調用沒有建立對象的方法/變量。繼承
關於static,博主特意寫了一篇博客,若是對final概念不是特別清晰,你們能夠看看圖片
加載:final能夠在編譯(類加載)時初始化,也能夠在運行時初始化,初始化後不能被改變。
可修飾:類、內部類、方法、成員變量、局部變量、基本類型、引用類型
。
含義:final「最終的」的意思,在Java中又有意爲常量的意思,也就是被final修飾的只能進行一次初始化!
被final修飾各類所蘊含的特殊意義:
一、 final 修飾基本類型:值不能被修改; <p> </p> 二、final 修飾引用類型:引用不能夠被修改也就是說不能指向其餘對象,可是該引用的對象內容能夠被修改; <p> </p> 三、final 修飾 方法,方法不能夠重寫,可是能夠被子類訪問 【前提:方法不是 private 類型】。
<p> </p> 四、final 修飾 類,類不能夠被繼承。
關於final,博主特意寫了一篇博客,若是對final概念不是特別清晰,值得你們看看
含義:從字面也能夠知道,它表明Static與final兩者的共同體。
可修飾:依舊是取兩者的共同體,因此只能修飾成員變量、方法、內部類
,被Static final修飾意義分別以下:
一、成員變量:屬於類的變量且只能賦值一次。 <p> </p> 二、方法:屬於類的方法且不能夠被重寫。 <p> </p> 三、內部類:屬於外部類,且不能被繼承
本篇文章只是簡短概要它們之間的使用,但願各位要是被面試官問到了,也能從容的回答...如有不正之處,但願諒解並歡迎批評指正。
歡迎各位關注個人公衆號,一塊兒探討技術,嚮往技術,追求技術...