封裝繼承多態總結

封裝

  封裝按照我我的的理解,安全

  • 將屬性私有化,
  • 提供相應的getters和setters方法,
  • 重toString方法
  • 根據相關業務重載構造函數

  優勢:網絡

  • 屏蔽細節
  • 提升安全性

  在繼承中涉及到構造方法,構造方法沒有返回值類型,默認不寫時JVM會默認加上無參構造器,若是要使用帶參的構造方法,必定要寫出無參構造方法,這其中涉及到方法的重載函數

  方法的重載學習

  在同一個類中,方法名相同,形參類型不一樣(個數或類型) ,與返回值類型和權限修飾符無關;spa

繼承

  繼承:在一個類能夠繼承另外一個類的屬性和方法,子類能夠選擇覆蓋父類的方法,並在這個基礎上擴展,能夠繼承一個普通類 抽象類 或接口;繼承類經過extend 實現就接口經過implements實現對象

  抽象類繼承

  抽象類是使用abstract修飾的類,其中會包含抽象方法, 抽象方法使用abstract修飾的方法,只有方法名,沒有方法體;接口

  抽象類與抽象方法之間get

   抽象類中可能會有抽象方法,一個類中有抽象方法那麼這個類必定是抽象類;抽象方法存在與抽象類或接口編譯

  抽象類也是類,有構造方法,可是不能實例化對象,其中一樣有實例變量,實例方法

  若是一個抽象類的子類沒有徹底重寫父類的抽象方法那麼這個子類仍是一個抽象方法,

  抽象類只能單繼承,也就是說一個子類只有一個父類

  全部類的最終父類(超類,基類)都是Object,

  接口:

  使用interface 定義接口,其中包含抽象方法,可使用implement實現多個接口,重寫接口的抽象方法

  接口的特色

  • 接口的權限修飾符只有public和默認
  • 接口能夠繼承多個接口,但不能繼承類
  • 接口不能變量,只能定義常量,默認會加上public static static
  • 接口中的方法不能使用private protect static final修飾編譯會報錯
  • 在JDK1.8後接口中能夠定義實例方法 使用default修飾方法

  重寫

  在繼承條件下,子類根據需求重寫父類的方法

  重寫的要求:

  • 重寫的方法名與父類的一致
  • 參數類表相同
  • 返回的參數類型相同或是其子類
  • 權限修飾符不能縮小

修飾符問題

  abstract 不能修飾屬性和構造方法, 不能同時與private static final修飾一個方法或類

  final 修飾的類不能被繼承,修飾方法不能被重寫,修飾屬性是常量不能改變,不能修飾構造方法

  static 修飾的方法不能重寫,可是能繼承,

  private 凡是private修飾的屬性或方法能繼承

  默認的權限修飾的屬性或方法 能夠繼承 但必須在同一包的範圍內 能夠修飾抽象類和接口 接口中不寫爲public abstract 

  protected 不能修飾抽象類和接口,能夠抽象類中的抽象方方法, 接口中的權限修飾符只能是public abstract 

  構造方法不能繼承,只能經過子類構造方法默認調用或使用super調用

多態

  在繼承條件下,具備多種行爲表現的集合特徵

向上轉型

  父類 object=new 子類();   在繼承的條件將子類對象賦給父類對象,將父類的引用指向子類對象,

  調用時:屬性調用的是父類的屬性,若是子類重寫了父類的的方法,調用的是子類的方法,不然調用的是父類的方法,不能調用子類新增的方法

向下轉型

  向下轉型的前提是,父類已經向上轉型,不然會編譯錯誤,

  父類 object=new 子類()

  子類 subobj=object;

 

我目前還在學習,在學習期間努力每週寫一篇,以上部分爲我的筆記和網絡搜索整理,因爲學習任務多,加上我的語言組織能力不強,若是有錯誤請路過的大佬指出,也請見諒!!

相關文章
相關標籤/搜索