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

歡迎訪問 生活随笔!

生活随笔

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

java

Java基础小常识-继承-(10)

發布時間:2025/5/22 java 197 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础小常识-继承-(10) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、繼承的好處

1.好處:

1)提高了代碼的復用性

2)讓類與類之間產生了關系,給第三個特征多態提供了前提

2.Java中支持單繼承,不直接支持多繼承,但對c++中的多繼承機制進行了改良。

3.單繼承:一個子類只能有一個直接父類

4.多繼承:一個子類可以有多個直接父類(Java中不允許,所以進行改良),不直接支持,因為多個父類中有相同的成員,會產生調用不確定性。在Java中通過“多實現”的方式來體現

5.Java支持多層(多重)繼承。

例:C繼承B,B繼承A,就會出現繼承體系

當要使用一個繼承體系時:1)查看該體系中的頂層類,了解該體系的基本功能。

            ? 2)創建體系中的最子類對象,完成功能的使用。

6.什么時候定義繼承:當類與類之間存在著所屬關系時,就定義繼承。

7.在子父類中,成員的特點體現

1)成員變量:當本類的成員和局部變量同名用this區分,當子父類中的成員變量同名用super區分父類

      this和super的用法很相似:this:代表一個本類對象的引用。super:代表一個父類空間。

2)成員函數:當子父類中出現成員函數一模一樣的情況,會運行子類的函數,這種現象,稱為覆蓋操作,這是函數在子父類中的特性

       函數兩個特性:1.重載,同一個類中,overload  2.覆蓋:子類中 ,覆蓋也稱為重寫,覆寫override

       覆蓋注意事項:1.子類方法覆蓋父類方法時,子類權限必須大于等于父類權限  2.靜態只能覆蓋靜態,或被靜態覆蓋。

3)構造函數:子父類中構造函數的特點,在子類的構造函數中第一行有一個默認的隱式語句---》super();

       子類的實例化過程:子類中所有的構造函數默認都會訪問父類中的空參數的構造函數。

8.什么時候使用覆蓋操作

1)當對一個類進行子類的擴展時,子類需要保留父類的功能聲明

但是要定義子類中該功能的特有內容時,就使用覆蓋操作完成。

9.子父類中的構造函數的特點:

在子類構造對象時,發現,訪問子類的構造函數時,父類也運行了。為什么???

原因:在子類的構造函數中第一行有一個默認的隱式語句---》super()

子類的實例化過程:子類中所有的構造函數默認都會訪問父類中的空參數構造函數。

為什么子類實例化的時候要訪問父類中的構造函數呢???

原因:那是因為子類繼承了父類,獲取到了父類中的內容(屬性),所以在使用父類內容之前,要先看父類是如何對自己的內容進行初始化的。

所以子類在構造對象時,必須訪問父類中的構造函數。為了完成這個必要的動作,就在子類的構造函數中加入了super()語句。

?

如果父類中沒有定義空參數的構造函數,那么子類中的構造函數必須要用super語句確定引用父類中的那個構造函數。同時子類構造函數中如果使用this調用了本類構造函數時,那么super就沒有了,因為super和this都只能定義在第一行,所以只能有一個。但是可以保證的是,子類中肯定有其他的構造函數去訪問父類的構造函數。

注意:1)super語句必須要定義在子類構造函數的第一行,因為父類的初始化動作要先完成。

   2)通過super初始化父類內容時,子類的成員變量并未顯示初始化。等super()父類初始化完畢后,才進行子類的成員變量顯示初始化。

一個對象實例化過程:
Person p = new Person();
1),JVM會讀取指定的路徑下的Person.class文件,并加載進內存,
?? ?并會先加載Person的父類(如果有直接的父類的情況下).
2),在堆內存中的開辟空間,分配地址。
3),并在對象空間中,對對象中的屬性進行默認初始化。
4),調用對應的構造函數進行初始化。
5),在構造函數中,第一行會先到調用父類中構造函數進行初始化。
6),父類初始化完畢后,在對子類的屬性進行顯示初始化。
7),在進行子類構造函數的特定初始化。
8),初始化完畢后,將地址值賦值給引用變量.

轉載于:https://www.cnblogs.com/Aftersoon-sun/p/6728836.html

總結

以上是生活随笔為你收集整理的Java基础小常识-继承-(10)的全部內容,希望文章能夠幫你解決所遇到的問題。

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