日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

面向对象三大特征之继承(extends)——Java笔记(六)

發布時間:2023/12/18 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象三大特征之继承(extends)——Java笔记(六) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
繼承: 從一般到特殊的關系,是一種拓展關系,子類對象是父類的一種,也可稱為”is a“的關系 泛化: 把子類里的共性抽取到父類里的來的過程 特化: 子類在父類的基礎上上定義了自己特有的行為特征的過程 格式: 修飾符 class SubClass extends SuperClass{ } SubClass?:導出類、繼承類、子類 SuperClass:父類、基類、超類、源類 子類SubClass通過extends來繼承父類SuperClass 繼承是通過extends來實現的 繼承提高了代碼的復用性,提高了軟件的開發效率 ? 讓類與類之間產生關系,這個是實現多態的前提? 子類對象訪問實例成員的時候,是現在子類里找,要是找不到再去父類找 每個類有且只有一個直接父類 一個類沒有顯示的繼承其他的一個類時候,默認的直接父類就是object類 一旦一個類顯示的繼承了其他的一個類的時候,此時默認的直接父類object就會被取消 Java只支持單繼承不支持多繼承 父類里面私有的東西,子類不能繼承 在繼承操作中,對于子類的對象實例化,子類對象在實例化之前必須首先調用父類中的構造方法之后在調用自身的構造方法子 證明: 1 class Super{ 2 public Super(){ 3 System.out.println("我是父類super"); 4 } 5 } 6 class Sub extends Super{ 7 public Sub(){ 8 System.out.println("我是子類sub"); 9 } 10 } 11 public class InstanceDemo { 12 public static void main(String[] args) { 13 new Sub(); 14 /** 15 * 我是父類super 16 * 我是子類sub 17 * 18 * 先打印的是父類里面的在打印的子類里面 19 * 從這個可以看出是先調用父類的構造方法創建父類對象再來調用子類里面的構造方法 20 * 21 */ 22 } 23 } 子類對象在初始化之前會默認調用父類無參的構造方法,但是一旦子類顯示的調用了父類其他的構造方法,那么默認調用的構造方法將會被取消 方法的重寫(Override): 當父類的某個方法不適合于子類本身的特征行為時就當重寫父類中應當改變的方法 方法重寫應遵循的原則: 方法簽名(方法名+參數列表)必須相同 子類方法的返回值類型比父類方法的返回值類型更小或相等 子類方法聲明拋出的異常應比父類方法申明跑出異常更小或相等,即子類方法不能拋出新的異常類型,子類方法可以同時聲明拋出多個父類方法聲明拋出異常的子類(RuntimeException例外) 子類方法的訪問權限應比父類方法更大或相等 overload 與 override

?

區別點 重載(overload) 重寫(override)
1 ? ? ? ? ?? 判斷規則 ? ?? 參數列表順序不同、類型不同、個數不同都可以構成重載 ? ??同類中方法名相同,但是方法的參數列表不同,與方法的返回值類型和修飾符無關 ? 方法簽名(方法名+參數列表)必須相同 ? ? 子類方法的返回值類型比父類方法的返回值類型更小或相等 ? ? 子類方法聲明拋出的異常應比父類方法申明跑出異常更小或相等 ? ? 子類方法的訪問權限應比父類方法更大或相等
2 權限 無權限要求 被重寫的方法不能擁有比父類更嚴格的權限
3 范圍 發生在一個類中 發生在繼承關系中
4 多態 編譯時多態 運行時多態
構造方法不能被重寫 super關鍵字 表示父類對象的默認引用 如果子類要調用父類被覆蓋的實例方法,可用super作為調用者調用父類被覆蓋的實例方法 使用super調用父類方法 使用super調用父類的構造方法 對super的調用必須是構造器中的第一個語句 this不能出現在static修飾的方法中,super也一樣不能出現在static修飾的方法中 因為static修飾的方法屬于類,即調用者是類 ?? this與super ? ??
? 區 ? ?別 ? ? ? ? ? ? ?? this super
1 ? ? ? ? ? 使 ? 用 調用本類中的字段或方法 從子類調用調用父類的字段或方法
2 構 ? 造 可以調用本類中的構造方法,且有一個構造方法要作為出口 從子類調用父類的構造方法,不管子類如何安排最終一定會去調用,默認調用的父類中無參的構造方法
3 要 ? 求 調用自身構造方法時放在構造方法首行 調用父類構造方法時放在子類構造方法首行
4 特 ? 殊 表示當前對象 表示父類對象
ps:使用super()和this()在同一個構造方法中是不可能同時顯示出現的

?

轉載于:https://www.cnblogs.com/Essence/p/3967426.html

總結

以上是生活随笔為你收集整理的面向对象三大特征之继承(extends)——Java笔记(六)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。