-
final和abstract不能一同出現
-
static和abstract不能一同出現
-
允許出現final static描述的變量(不能被修改的靜態屬性)
-
允許出現final static描述的方法(不能被重寫的靜態方法)
final
final修飾類:該類不能被繼承,不能加在抽象類中
final修飾方法:該方法不能被重寫,但可以被繼承
final修飾屬性:該屬性不能被重新賦值,但可以被繼承,可以在定義或構造函數中初始化
final修飾局部變量:該變量只能被賦值一次(常量)
abstract
abstract修飾類:該類不能實例化對象,但可以包含非abstract的方法
abstract修飾方法:該方法沒有方法體,需要被重寫才能使用
abstract的子類:必須完全重寫父類的抽象方法,或者自己本身也被定義爲abstract
abstract不能修飾屬性和局部變量
static
static修飾代碼塊:稱爲靜態代碼塊,可以初始化類中的static屬性,但不能初始化非static的屬性
static修飾方法:static方法只能使用static的方法和屬性,不能使用非static的方法和屬性。但非static方法可以訪問static方法和屬性;static方法中不能出現this關鍵字。可直接通過類名.方法名()訪問。
static修飾屬性:不能修飾局部變量,可直接通過類名.靜態屬性名訪問