與final關鍵字相關的筆試題面試題也是一道必考題。而且對於final的實際應用非常廣泛,在**設計的時候,如果對此不夠足夠掌握,可能就會很難排查與此相關的異常。
final的理論知識如下:
final
型別的成員變數初始化值: 1
、宣告時候直接賦值 2
、構造方法中賦值,如果乙個類中有多個構造方法,就要保證在每個構造方法中都要完成對
final
型別變數的初始化工作 3
、靜態final
成員變數必須在宣告時賦值,且不能在構造方法中賦值 4
、final
成員變數指的是引用不能改變,即該變數的引用不能在指向其他的物件,但是物件的內容是可以改變的,比如
stringbuffer
可以通過
、remove
等對該物件的內容作出改變。
5、乙個類的修飾符不可以同時是
abstract
和final
abstract
類需要通過子類的繼承來使用,而
final
則是不可繼承,相互矛盾
6、為什麼對於
publicfinal
型別的成員變數,一般都會加上
static
呢?因為可以節省記憶體,
static
型別的,那麼所有的物件都只有乙個變數,如果是非
static
的,那麼每乙個物件都要有乙個變數,而這個變數是不可改變的。
**示例:(可將注釋掉的**放開執行,看看效果等)
/**
* author ding chengyun
* 2014-2-23
*/package test;
/** * @author ding chengyun
* 2014-2-23
*/public class finaltest
public finaltest(string name)
public static void main(string args)
}class fi
JAVA基礎之final關鍵字
繼承有乙個弊端 當父類的某個函式呼叫了底層的資源時,子類可以用同樣的函式即覆蓋的方式,取消父類的函式執行,這就是繼承的弊端,打破了封裝性。這個時候我們就需要final關鍵字來進行修飾。final關鍵字 1.是乙個修飾符,可以修飾類,方法 函式 變數。2.final修飾的類不可以被繼承。3.final...
Java基礎 final關鍵字
final概述 final可以修飾類,方法和變數。特點 1 final可以修飾類,該類不能被繼承。2 final可以修飾方法,該方法不能被重寫。3 final可以修飾變數,該變數不能被重新賦值。因為這個變數為常量。final修飾區域性變數的問題package duixiang class stude...
JAVA基礎(關鍵字 final)
1,final概述 2,final修飾特點 class demo1 final final class father class son extends father 3,final關鍵字修飾區域性變數 基本型別,是值不能被改變 引用型別,是位址值不能被改變,物件中的屬性可以改變 class dem...