JAVA學習之面向對象

一、構造方法

  1.    任何class都有構造方法。
  2.    作用:用以初始化實例
  3.    若一個類沒有定義構造方法,則編譯器會自動生成一個默認的無參構造方法。若已定義一個有參數的構造方法,則系統不會再自動生成無參構造方法

二、方法重載(Overload)

  1.     定義:方法名相同,但是參數不同(與返回值無關,通常返回值類型都是相同的)

三、繼承

  1.       除object之外,任何類都有且只有一個父類
  2.       子類中使用super表示父類
  3.       子類的構造器,第一行都是調用父類的構造方法。若沒有明顯的調用,則默認調用 super()即父類無參構造方法
  4.       子類可以安全的轉型爲父類。父類轉型爲子類時,可以先使用instanceof進行類型的判斷

四、多態

  1.     覆寫(重載)Override:子類中如果定義了一個與父類方法簽名完全相同的方法
  2.     定義:Java具體方法的調用是由運行時真正的實際類型決定的,而非變量的聲明類型
  3.     子類覆寫方法中,可以使用super調用父類方法
  4.      由final修飾的方法,不可以被子類覆寫。修飾的類不可以被繼承。修飾的字段的值不可以被修改,但是可以在構造方法中賦值,兩者只能取其一,即初始化賦值,便不可構造方法中賦值,反之亦然。

五、抽象類

  1.      關鍵字:abstract
  2.       由abstract修飾的方法稱爲抽象方法,沒有具體的實現。修飾的類爲抽象類,不可被實例化
  3.      擁有抽象方法的類必爲抽象類。抽象類的子類必須實現抽象抽方法
  4.      面向抽象編程的本質:上層代碼只定義規範;不需要子類就可以實現邏輯;具體的業務由不同的子類去實現,調用者並不關心

六、接口

  1.      本質:定義接口規範
  2.      關鍵字:interface
  3.      接口方法默認是public abstract
  4.      一個類別只能繼承一個父類,但是可以實現多個接口,使用implements
  5.  

    抽象類 接口
    繼承 extends一個父類 implements多個接口
    字段 可以 不可
    抽象方法 可以 可以
    非抽象方法 可以 可以定義default方法
  6.      接口之間的繼承使用extends
  7.       default方法:由default關鍵字修飾,具有具體實現,子類中可以不必覆寫

七、靜態字段與靜態方法
    1.  關鍵字:static
 2.  一個類中所有實例共享類中的靜態字段與靜態方法
 3.  靜態方法內無法訪問this變量,也無法訪問實例字段
 4.  接口方法內可以定義public static final類型的字段,其中public static final可以省略掉

八、包
    1.   機制:避免class命名的衝突
 2.   import static導入一個類的靜態字段和靜態方法
 
九、作用域
    1.   一個.java文件中,只能包含一個public類,可以包含多個非public類
 
十、模塊**********************重點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章