javase—繼承

javase---繼承:(包含this.和super的區別)


繼承的特點:
          java中只支持單一繼承,只能繼承一個父類。
          java中支持多層繼承(一個兒子可以有親爹,還可以有一個親爺爺。。。)
繼承中成員變量的特點:
          子類只能繼承父類中非私有的成員:
          子父類中成員變量的名字和父類中的名字不一樣獲取父類的
          如果一樣則選擇子類中的。
就近原則:誰離我近我就用誰的。
   如果有局部變量就使用局部變量(如果有局部變量想用成員變量就用this調用)
   如果沒有局部變量,有子類的成員變量就使用子類的成員變量
   如果沒有局部變量和子類的成員變量,有父類的成員變量就使用父類的成員變量
super:可以獲取父類中的成員變量和成員方法,用法和this相似。
繼承中的成員方法的特點
          方法的重寫:在子類中,子類的方法和父類的一樣,子類重寫父類的方法(方               法的覆蓋)
          方法的重載:在一個類中,有多個重名的方法,但是其中參數不一樣(參數的個數,參數的類型,參數的順序),和返回值無關。
          方法重寫的應用場景:
          當父類中的方法不能完全滿足子類中的使用,這個時候子類重寫父類中的方法。並且可以在方法中使用super調用。
方法重寫注意事項:
          不能重寫父類中的私有方法。
          權限修飾符子類的要大於父類的。重寫的時候最好加上註解,註解可以幫助提示你是否正確的重寫,是一種標準。
          繼承中構造方法的執行順序:
          在有子類父類中,創建子類的對象,調用子類中的對象時,如果第一行沒有指明調用什麼,則默認調用父類中的無參構造器。
           爲什麼調用子類對象的時候一定會執行父類中的構造方法:
           1,因爲當子類創建對象完畢,那麼就可以使用父類的 成員(成員變量,成員方法) 而父類的構造方法就是用於給自己的成員變量進行初始化的(就是給成員變量賦默認值)
           2,因爲在子類的構造方法裏都隱藏了一個 super(); 默認調用父類的無參構造
繼承的優缺點:
          優點:
          提高了代碼的複用性:
          提高了代碼的可維護性。
          缺點:
          類的耦合性增強了
          開發的原則:高內聚低耦合(提高自己類完成的能力,少一點其他的類參與)
 * this和super的區別
        this:當前對象的引用
            調用子類的成員變量
            調用子類的成員方法
            在子類的構造方法第一行調用子類其他構造方法
        super:子類對象的父類引用
            調用父類的成員變量
            調用父類的成員方法
            在子類的構造方法第一行調用父類的構造方法
              this和super在調用構造方法的時候,必須在第一行,不能在一個方法中同時在一起使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章