final關鍵字的用法
在Java中,final關鍵字可以用來修飾類、方法和變量(包括成員變量和局部變量)。下面就從這三個方面來了解一下final關鍵字的基本用法。
1.修飾類
當用final修飾一個類時,表明這個類不能被繼承。也就是說,如果一個類你永遠不會讓他被繼承,就可以用final進行修飾。final類中的成員變量可以根據需要設為final,但是要注意final類中的所有成員方法都會被隱式地指定為final方法。
在使用final修飾類的時候,要注意謹慎選擇,除非這個類真的在以后不會用來繼承或者出于安全的考慮,盡量不要將類設計為final類。
2.修飾方法
下面這段話摘自《Java編程思想》第四版第143頁:
“使用final方法的原因有兩個。第一個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是效率。在早期的Java實現版本中,會將final方法轉為內嵌調用。但是如果方法過于龐大,可能看不到內嵌調用帶來的任何性能提升。在最近的Java版本中,不需要使用final方法進行這些優化了。“
因此,如果只有在想明確禁止 該方法在子類中被覆蓋的情況下才將方法設置為final的。
注:類的private方法會隱式地被指定為final方法。
3.修飾變量
修飾變量是final用得最多的地方,也是本文接下來要重點闡述的內容。首先了解一下final變量的基本語法:
對于一個final變量,如果是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。
舉個例子:
上面的一段代碼中,對變量i和obj的重新賦值都報錯了。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%