Java物件導向三大特徵

天問九歌發表於2020-09-26

Java物件導向三大特徵

1.重寫

​ **概念:**子類繼承父類的以後,可以對父類中同名引數的方法進行覆蓋的操作。

應用: 重寫以後,建立子類物件後,子類呼叫父類中同名同引數的方法時,實際上呼叫的是子類重寫後的方法。

​ **注意:**子類重寫的方法的方法名和形參列表要與父類的保持一致;

​ 子類重寫方法的訪問修飾符不小於父類中被重寫的訪問修飾符;

​ 子類不能重寫父類中private修飾的方法;

​ 子類重寫的方法返回值型別要與父類的相同或者是父類中返回型別的子類;

​ 子類重寫的方法丟擲的異常型別不大於父類父類被重寫的方法丟擲的異常型別。

2.多型性

  1. 物件的多型性:父類的引用指向子類的物件。
  2. 編譯看左邊,執行看右邊。
  3. 多型的使用前提是:類的繼承關係;方法的重寫

虛方法

子類定義的與父類同名同引數的方法,在多型的情況下,將此時父類的方法稱為虛方法。

final 關鍵字

  1. final可以修飾的結構:類 、方法、變數
  2. 修飾類,此類不可以被其他類繼承,如String類、System類、StringBuffer類等。
  3. 修飾方法,此方法不可以被重寫。
  4. 修飾變數,此變數可以看做是常量。

static 關鍵字

  1. static 可以修飾:屬性、方法、程式碼塊、內部類。
  2. 靜態變數的載入要早於物件的建立。
  3. 靜態方法中,只能呼叫靜態的方法或屬性。

abstract關鍵字

  1. abstract不能用來修飾屬性、構造器
  2. 不能修飾私有的方法、靜態方法、final的方法、final的類

介面

  1. 使用interface來定義
  2. jdk7及以前,只能定義全域性常量和抽象方法。全域性常量public static final 的,但是書寫時可以省略不寫;抽象方法:public abstract的。jdk8後還可以定義靜態方法、預設方法。
  3. 介面不能定義構造器意味著介面不可以例項化。
  4. 介面通過讓類去實現(implements)的方式來使用介面。實現類如果沒有覆蓋介面中所以的抽象方法,則此實現類仍為抽象類。
  5. java類可以實現多個介面,彌補了java單一繼承的侷限性。
  6. 介面與介面可以繼承。

相關文章