JAVA知识基础(五):深入理解final关键字
生活随笔
收集整理的這篇文章主要介紹了
JAVA知识基础(五):深入理解final关键字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.final 關(guān)鍵字
final關(guān)鍵字主要用在三個地方:變量、方法、類。
- final修飾變量:final修飾一個類時,表明這個類不能被繼承。
- final修飾方法:final修飾方法,方法不可以重寫,但是可以被子類訪問 【前提:方法不是 private 類型】。
- fainal修飾類:如果被final修飾的是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。
2.final修飾變量(成員變量、局部變量)
首先,變量分為成員變量和局部變量
2.1 final修飾成員變量
成員變量必須在定義時或者構(gòu)造器中進(jìn)行初始化賦值
在構(gòu)造方法中將成員變量進(jìn)行初始化,定義成員變量的時候就可以不用初始化
public class FinalAndVariable {public int t;public final int b; //編譯成功public final int c = 1; //編譯成功public FinalAndVariable() { //構(gòu)造方法b=2; //在構(gòu)造方法中將成員變量b進(jìn)行初始化} }2 .2final修飾局部變量
只需要保證在使用之前被初始化賦值即可
3.final變量和普通變量的區(qū)別
當(dāng)final變量修飾基本數(shù)據(jù)類型以及String類型時,編譯期間能知道它的確切值時,編譯器會把它當(dāng)做編譯期常量使用。
被final修飾的引用變量一旦初始化賦值之后指向的對象不可變但該對象的內(nèi)容可變。
4.final與static的藕斷絲連
static的使用始終離不開final字眼,二者可謂藕斷絲連,常常繁見
static修飾的在類加載的時候就加載完成了(初始化),而且只會加載一次也就是說初始化一次,所以不會發(fā)生變化!
final修飾基本數(shù)據(jù)類型的變量時,則其數(shù)值一旦在初始化之后便不能更改。
總結(jié)
以上是生活随笔為你收集整理的JAVA知识基础(五):深入理解final关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ogg实现oracle到kafka的
- 下一篇: JDK源码解析之Java.util.Co