java基礎語法 final

2021-09-11 04:47:25 字數 941 閱讀 6022

final的用法:

1.final修飾成員變數:

1)類變數:必須要在靜態初始化塊中指定初始值或者宣告該類變數時指定初始值,而且只能在這兩個地方之一進行指定;

2)例項變數:必要要在非靜態初始化塊,宣告該例項變數或者在構造器中指定初始值,而且只能在這三個地方進行指定。

2.final修飾區域性變數

當final修飾基本資料型別變數時,不能對基本資料型別變數重新賦值,因此基本資料型別變數不能被改變。而對於引用型別變數而言,它僅僅儲存的是乙個引用,final只保證這個引用型別變數所引用的位址不會發生改變,即一直引用這個物件,但這個物件屬性是可以改變的

利用final變數的不可更改性,在滿足一下三個條件時,該變數就會成為乙個「巨集變數」,即是乙個常量。

使用final修飾符修飾;

在定義該final變數時就指定了初始值;

該初始值在編譯時就能夠唯一指定。

注意:當程式中其他地方使用該巨集變數的地方,編譯器會直接替換成該變數的值

3.final修飾方法

1. 父類的final方法是不能夠被子類重寫的

2. final方法是可以被過載的

4.final修飾類

當乙個類被final修飾時,表名該類是不能被子類繼承的

5.final用作不變類上

不變類的意思是建立該類的例項後,該例項的例項變數是不可改變的。滿足以下條件則可以成為不可變類:

使用private和final修飾符來修飾該類的成員變數;

提供帶參的構造器用於初始化類的成員變數;

僅為該類的成員變數提供getter方法,不提供setter方法,因為普通方法無法修改fina修飾的成員變數;

如果有必要就重寫object類 的hashcode()和equals()方法,應該保證用equals()判斷相同的兩個物件其hashcode值也是相等的。

jdk中提供的八個包裝類和string類都是不可變類。

java基礎之final詳解

問題 使用final關鍵字修飾乙個變數時,是引用不能變,還是引用的物件不能變 答 使用final關鍵字修飾乙個變數時,是指引用變數不能變,引用變數所指向的物件中的內容還是可以改變的。public class test10 public static int method1 final int i 有...

Java基礎語法

1,資料 分為基本型別和引用型別 基本型別 表達 型別占用位元組 數值範圍 初始化預設值 備註整數 byte 1 128 127 0b整數 short 2 32768 32767 0s整數 int4 2147483648 2147483647 0整數常量預設型別 整數long 8 2 63 2 63...

Java語法基礎

序號 關鍵字含義 1abstract表明類或者成員方法具有抽象屬性 2assert用來進行程式除錯 3boolean 基本資料型別之一,布林型別 4break提前跳出乙個塊 5byte基本資料型別之一,位元組型別 6catch用在異常處理中,用來捕捉異常 7char基本資料型別之一,字元型別 8cl...