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


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

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

歡迎各位關注我的公眾號,一起探討技術,向往技術,追求技術...

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM