1. 程式人生 > >面向對象 面試題

面向對象 面試題

nds span 對象 控制 耦合 style 訪問 修飾 面試題

面象對象的三大特征:

  • 繼承:extends

   作用:代碼復用、傳遞性。  

   子類繼承父類的特征和行為。子類可以有父類的方法,屬性(非private)。子類也可以對父類進行擴展,也可以重寫父類的方法。缺點就是提高代碼之間的耦合度。

   super關鍵字:通過super實現對父類成員的訪問。用來引用當前對象的父類。通過super顯示的調用父類的有參構造,無參構造可以隱式調用

   this:用來引用當前對象,指向自己

   final:可以修飾類,方法,屬性;修飾的類不能繼承,修飾的方法不能重寫,修飾的屬性不能修改。

  • 封裝:隱藏內部實現,只暴露公共行為

   1. 類:封裝的是對象的屬性和行為

2. 方法:封裝一段特定的業務邏輯功能

   3. 訪問控制修飾符:封裝的是具體的訪問權限

  • 多態:分為:

   1. 行為多態(所有抽象方法)體現在:

    重載:

      1) 發生在一個類中,方法名稱相同,參數列表不同,方法體不同

      2) 遵循"編譯期"綁定,看參數/引用的類型來綁定方法

    重寫:

      1) 發生在父子類中,方法名稱相同,參數列表相同,方法體不同
      2) 遵循"運行期"綁定,重寫方法被調用時,看對象的類型
      3) 遵循"兩同兩小一大"原則:
        兩同:
        -

方法名稱相同
        - 參數列表相同
        兩小:
        1. 派生類方法的返回值類型小於或等於超類方法的
         1) void時,必須相等
         2) 基本類型時,必須相等
          3) 引用類型時,小於或等於
        2. 派生類方法拋出的異常小於或等於超類方法的-----異常之後
       一大:
         派生類方法的訪問權限大於或等於超類方法的-

   2. 對象多態(所有對象)體現:

     向上造型:向上轉型是自動的 Father f = new Children();不需要強轉

     向下造型:向下轉型需要強轉 Children c = (Children)new Father()需要強轉。讓父類知道具體轉成哪個子類   

面向對象 面試題