一区二区三区精品视频-一区二区三区国产美女在线播放-一区二区三区福利视频-一区二区三区福利-毛片大全免费看-毛片大片免费看

千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT問答庫  >  Java基礎知識

Java中final關鍵字如何使用

發布:Java培訓 2022-01-20 15:23

Java中final關鍵字如何使用

推薦答案

final變量只能賦值一次,賦值的方式有三種:

1)聲明變量時直接賦值;

2)非靜態成員變量在{}塊中賦值,靜態成員變量在static{}塊中賦值;

3)非靜態成員變量在構造方法中賦值。

final修飾類

final類不能被繼承,因此不會有子類。final類中的方法不論是否有final修改,都是final的。

下面定義了一個簡單的final類:

public final class FinalClass { }

//下面的類繼承將會出現編譯錯誤

class Sub extends FinalClass { }

final修飾方法

final方法不能被override。若父類中的方法為final的,則子類不能override該方法,但可以調用該方法(父類的final方法)。

下面的程序試圖重寫final方法,將會引發編譯錯誤:

public class FinalMethod {

public final void say () { }

}

class Sub extends FinalMethod {

//下面方法將會出現編譯錯誤

public void say () { }

}

final成員變量

final修飾的變量不可被改變,意思是不能被重新賦值。由于final修飾的成員變量不能重新賦值,所以Java語規定:final修飾的成員變量必須由程序員顯示的指定初始值。

final修飾的類變量和實例變量指定初始值得地方如下:

1)類變量:必須在靜態初始化塊中指定初始值或聲明該類變量時指定初始值,而且只能二選一指定。

2)實例變量:必須在非靜態初始化塊、聲明該實例變量或構造器中指定初始值,而且只能三選一指定。

final修飾基本類型變量和引用類型變量的區別:

當final修飾基本類型變量時,改基本類型變量不能被改變。但對于引用類型變量而言,它保存的僅僅只是引用,final只保證這個引用類型變量所引用的地址不會改變,即一直引用同一個對象,但這個對象完全可以發生改變。

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

計算機前端和后端區別,到底該學哪一個?

互聯網行業的發展速度很快,有關市場上對于it行業的人才需求量越...

java和php的區別是什么?哪一個更難一些?

有很多零基礎的小白想要去學習編程技術,那么可以考慮一下java和...

java與java script的區別有哪些?

相信大多數同學對java、java script都不會陌生,二者都是編程語...

java中什么是繼承?

繼承的特點:只需明確一點,java只支持單繼承,不支持多繼承,但...

java byte取值范圍是什么?

同學您好,java byte取值范圍是什么?針對這個問題可以看看下面的...

javascript和java有什么區別

1)基于對象和面向對象:Java是一種真正的面向對象的語言,即使是...

測一測
你知道多少IT梗

主站蜘蛛池模板: 藁城市| 兴义市| 宁安市| 治多县| 若尔盖县| 万载县| 刚察县| 杭锦旗| 衡南县| 页游| 肇州县| 沙洋县| 宜阳县| 宁安市| 道真| 古蔺县| 咸丰县| 闽清县| 石景山区| 遂平县| 伊金霍洛旗| 衡阳县| 嵊泗县| 蛟河市| 马关县| 德州市| 五峰| 越西县| 太和县| 阿图什市| 平南县| 尼勒克县| 札达县| 邵武市| 麻江县| 久治县| 房产| 介休市| 嘉荫县| 永和县| 柳林县|