java學習之路--------第十天
今天是真的趕上了進度,下次就是一天一個了。
今天我們學習了繼承,方法的重寫,super關鍵字,
首先如果一個類沒有繼承任何類的時候,其實預設繼承了Object類
一。繼承:
子類可以繼承父類的非私有的成員變數和成員方法
除了繼承父類的相關成員變數和成員方法之外還可以擁有自己的屬性和行為
總結:子類的功能要比父類強大
1、方法的重寫:
定義:方法名相同,引數列表和引數型別都相同的,只有方法體不同的方法,只有在繼承中
備註:如果父類的成員方法有重寫,那麼執行重寫後的成員方法,那麼執行重寫後的成員方法,沒有重寫則執行父類的成員方法。
2、super關鍵字:
作用:呼叫父類中的相關構造方法,如果自己不寫,那麼系統會自動新增一個super();往往我們通過快捷鍵自動生成構造方法即可。
備註:super構造方法的首行,和this關鍵字不能共存,如果兩個都需要的話,super()可以不寫,系統會自行解決兩者共存關係,我們程式設計師不用解決。
3、繼承的好處
a、提高了程式碼的複用性,可維護性
b、讓雷玉磊之間產生了關係,為多型提供了前提條件
4、繼承的弊端
a、讓類產生了關聯,違反了軟體工程理念:低耦合高內聚
二、static關鍵字
1、static修飾成員變數,此時不在是成員變數,稱為靜態變數(類變數),可以通過類名.變數名 訪問該變數,不需要建立物件之後通過引用訪問。
2、static修飾成員方法,此時不在是成員方法,稱為靜態方法(類方法),可以通過類名.方法名直接訪問。
3、static程式碼塊
語法:static{
程式碼塊
}
靜態程式碼塊的執行優先順序最高,它在類載入的時候就已經執行了。且只執行一次。往往用來載入圖片,音訊,視訊等多媒體事務。
4、構造程式碼塊
語法:{
程式碼塊
}
構造程式碼塊必須在建立物件的時候才被執行,否則不執行。可以執行多次。