1. 程式人生 > >類的繼承

類的繼承

http 代碼 extends stat nal ges spa 關系 eight

1.高級類特性修飾符

static:修飾屬性,方法,塊,內部類。

2.靜態static

如果某個方法不需要與特定的對象綁定可以用static修飾。被static修飾的方法稱為靜態方法。

static方法可以用對象調用,也可以用類名調用,但是建議用類名調用。

 技術分享

靜態方法的判定:如果某個方法和實例無關,就是說不管哪個對象調用這個方法都執行的是相同的操作,與對象沒有任何關系,則可以判定此方法是靜態方法。

靜態方法不能直接調用非靜態方法,只有通過創建對象,用對象名調用非靜態方法。

3.static塊

static塊是直接在代碼塊前面直接加上static。靜態塊只有在類加載的時候執行一次,不管創建多少個對象都不會在執行。一個類中可以有多個靜態塊並按照順序執行。

4.final的定義與使用

  final使用與類、方法、和屬性。

  屬性:定義時就必須賦初值或者在構造方法中賦值,並且後期都不能夠修改;當final修飾屬性時就可以把屬性看著是一個常量了。

  方法:定義必須有現實代碼,在子類的方法中不能被覆蓋;對參數可以定義為final是為了防止在函數中變量被修改。

  類:不能定義為借口或者抽象類,不能被繼承。

5.變量以及常量

  在類中定義的變量可以叫做成員變量或者屬性。在方法中定義的變量叫做局部變量。屬性可以用private等權限修飾符進行修飾,但是局部變量不可以。屬性和局部變量都可以用final修飾。

  屬性的生存周期是長久的,隨著類的加載或者創建初始化被初始化,直到沒有對象引用才結束。

  局部變量的生存周期短,只有方法體執行完局部變量就被回收。

6.類的繼承

  類的繼承是指一個類定義是基於另一個已經存在的類。即子類繼承父類從而實現代碼的復用。子類能吸收已有的類的屬性與方法並且進行擴展的。

  繼承的形式: 【訪問權限修飾符】【修飾符】類名 extends 父類名{子類體}

  構造方法的繼承:子類中的構造方法總是優先調用父類中的構造方 

  必須將調用父類構造方法的這條語句放在子類構造方法的第一條語句位置。如果第一條語句沒有調用父類的構造方法,系統將會自動地在這個位置上插入一條調用父類默認構造方法的語句,即super();

  由於默認的構造方法不帶參數,所以,如果在父類中定義了帶參數的構造方法,而沒有定義不帶參數的構造方法將會出現編譯錯誤。這也正是建議大家在定義帶參數的構造方法時,一定要定義一個不帶參數的構造方法的原因所在;

  父類中那些帶參數的構造方法,子類將不會自動地調用它們,必須人工地將調用它們的語句寫入子類的構造方法中。

  技術分享輸出結果技術分享

7.方法的覆蓋

  子類可以重寫一個父類的某一個方法,稱為方法的覆蓋。如果子類需要修改從父類繼承到的方法體,就可以用方法的覆蓋。

  方法覆蓋的原則

  同參,同名,同返回值。訪問權限不能縮小即父類是public,子類不可以是pirvate。

技術分享

 

類的繼承