1:如何制作幫助文檔(了解)
(1)寫一個(gè)類
(2)加入文檔注釋
(3)通過javadoc工具生成即可
javadoc -d 目錄 -author -version ArrayTool.java
2:通過JDK提供的API學(xué)習(xí)了Math類(掌握)
(1)API(Application Programming Interface)
應(yīng)用程序編程接口(幫助文檔)
(2)如何使用呢?
請參照
day08\code\02_如何使用JDK提供的幫助文檔\如何使用幫助文檔.txt
(3)Math類
A:是針對數(shù)學(xué)進(jìn)行操作的類
B:沒有構(gòu)造方法仓手,因?yàn)樗某蓡T都是靜態(tài)的
C:產(chǎn)生隨機(jī)數(shù)
public static double random(): [0.0,1.0)
D:如何產(chǎn)生一個(gè)1-100之間的隨機(jī)數(shù)
int number = (int)(Math.random()*100)+1;
E:猜數(shù)字小游戲
3:代碼塊(理解)
(1)用{}括起來的代碼掌挚。
(2)分類:
A:局部代碼塊
用于限定變量的生命周期,及早釋放谨履,提高內(nèi)存利用率这橙。
B:構(gòu)造代碼塊
把多個(gè)構(gòu)造方法中相同的代碼可以放到這里奏窑,每個(gè)構(gòu)造方法執(zhí)行前,首先執(zhí)行構(gòu)造代碼塊屈扎。
C:靜態(tài)代碼塊
對類的數(shù)據(jù)進(jìn)行初始化埃唯,僅僅只執(zhí)行一次。
(3)靜態(tài)代碼塊,構(gòu)造代碼塊,構(gòu)造方法的順序問題?
靜態(tài)代碼塊 > 構(gòu)造代碼塊 > 構(gòu)造方法
4:繼承(掌握)
(1)把多個(gè)類中相同的成員給提取出來定義到一個(gè)獨(dú)立的類中助隧。然后讓這多個(gè)類和該獨(dú)立的類產(chǎn)生一個(gè)關(guān)系筑凫,
這多個(gè)類就具備了這些內(nèi)容。這個(gè)關(guān)系叫繼承并村。
(2)Java中如何表示繼承呢?格式是什么呢?
A:用關(guān)鍵字extends表示
B:格式:
class 子類名 extends 父類名 {}
(3)繼承的好處:
A:提高了代碼的復(fù)用性
B:提高了代碼的維護(hù)性
C:讓類與類產(chǎn)生了一個(gè)關(guān)系,是多態(tài)的前提
(4)繼承的弊端:
A:讓類的耦合性增強(qiáng)滓技。這樣某個(gè)類的改變哩牍,就會(huì)影響其他和該類相關(guān)的類。
原則:低耦合令漂,高內(nèi)聚膝昆。
耦合:類與類的關(guān)系
內(nèi)聚:自己完成某件事情的能力
B:打破了封裝性
(5)Java中繼承的特點(diǎn)
A:Java中類只支持單繼承
B:Java中可以多層(重)繼承(繼承體系)
(6)繼承的注意事項(xiàng):
A:子類不能繼承父類的私有成員
B:子類不能繼承父類的構(gòu)造方法丸边,但是可以通過super去訪問
C:不要為了部分功能而去繼承
(7)什么時(shí)候使用繼承呢?
A:繼承體現(xiàn)的是:is a的關(guān)系。
B:采用假設(shè)法
(8)Java繼承中的成員關(guān)系
A:成員變量
a:子類的成員變量名稱和父類中的成員變量名稱不一樣荚孵,這個(gè)太簡單
b:子類的成員變量名稱和父類中的成員變量名稱一樣妹窖,這個(gè)怎么訪問呢?
子類的方法訪問變量的查找順序:
在子類方法的局部范圍找,有就使用收叶。
在子類的成員范圍找骄呼,有就使用。
在父類的成員范圍找判没,有就使用蜓萄。
找不到,就報(bào)錯(cuò)澄峰。
B:構(gòu)造方法
a:子類的構(gòu)造方法默認(rèn)會(huì)去訪問父類的無參構(gòu)造方法
是為了子類訪問父類數(shù)據(jù)的初始化
b:父類中如果沒有無參構(gòu)造方法嫉沽,怎么辦?
子類通過super去明確調(diào)用帶參構(gòu)造
子類通過this調(diào)用本身的其他構(gòu)造,但是一定會(huì)有一個(gè)去訪問了父類的構(gòu)造
讓父類提供無參構(gòu)造
C:成員方法
a:子類的成員方法和父類中的成員方法名稱不一樣俏竞,這個(gè)太簡單
b:子類的成員方法和父類中的成員方法名稱一樣绸硕,這個(gè)怎么訪問呢?
通過子類對象訪問一個(gè)方法的查找順序:
在子類中找,有就使用
在父類中找魂毁,有就使用
找不到玻佩,就報(bào)錯(cuò)
(9)兩個(gè)面試題:
A:Override和Overload的區(qū)別?Overload是否可以改變返回值類型?
B:this和super的區(qū)別和各自的作用?
(10)數(shù)據(jù)初始化的面試題
A:一個(gè)類的初始化過程
B:子父類的構(gòu)造執(zhí)行過程
C:分層初始化
(11)案例:
A:學(xué)生和老師案例
繼承前
繼承后
B:貓狗案例的分析和實(shí)現(xiàn)