1. 程式人生 > >Java學習——final關鍵字

Java學習——final關鍵字

Java中final被稱為終結器,可以使用final來定義類、方法、屬性。

1.final修飾類(體現一種保護性)

當一個類用final關鍵字定義後,表示該類不允許被繼承(這裡的繼承說的是不能使用extends關鍵字來繼承,但是一個外部類有一個用final修飾的內部類時,這個外部類是可以繼承的,同時用final修飾的內部類也被繼承了)。同時該類中所有的方法都會被隱式地加上final關鍵字(不包含成員變數)。

Java中String類以及8大資料型別的包裝類(如Integer)都是final類。

2.final修飾方法

當一個方法被final修飾後,表示該方法不允許被重寫。

final方法常用於模板方法(也體現了保護性)。

3.final修飾屬性

當屬性被final修飾後,表示該屬性值不可變,並且該屬性要在宣告時初始化。

初始化方式:宣告時初始化、構造方法裡初始化、構造塊裡初始化。

1)final修飾基本資料型別變數(99%)

類中常量一般使用final+static,描述全域性常量。

2)final修飾引用資料型別變數(不常用)

 

注意:當使用 +、-、*、/、%、運算操作時,遵循如下規則:
只要兩個運算元中有一個是double型別的,另一個將會被轉換成double型別,並且結果也是double型別,如果
兩個運算元中有一個是float型別的,另一個將會被轉換為float型別,並且結果也是float型別,如果兩個操作
數中有一個是long型別的,另一個將會被轉換成long型別,並且結果也是long型別,否則(運算元為:byte、
short、int 、char),兩個數都會被轉換成int型別,並且結果也是int型別。但是final修飾的域型別不會發生變化。