07.01_面向?qū)ο?構(gòu)造方法Constructor概述和格式)(掌握)
- A:構(gòu)造方法概述和作用
- 給對(duì)象的數(shù)據(jù)(屬性)進(jìn)行初始化
- B:構(gòu)造方法格式特點(diǎn)
- a:方法名與類名相同(大小也要與類名一致)
- b:沒(méi)有返回值類型,連void都沒(méi)有
- c:沒(méi)有具體的返回值return;
07.02_面向?qū)ο?構(gòu)造方法的重載及注意事項(xiàng))(掌握)
- A:案例演示
- 構(gòu)造方法的重載
- 重載:方法名相同,與返回值類型無(wú)關(guān)(構(gòu)造方法沒(méi)有返回值),只看參數(shù)列表
- B:構(gòu)造方法注意事項(xiàng)
- a:如果我們沒(méi)有給出構(gòu)造方法,系統(tǒng)將自動(dòng)提供一個(gè)無(wú)參構(gòu)造方法。
- b:如果我們給出了構(gòu)造方法,系統(tǒng)將不再提供默認(rèn)的無(wú)參構(gòu)造方法。
- 注意:這個(gè)時(shí)候,如果我們還想使用無(wú)參構(gòu)造方法,就必須自己給出。建議永遠(yuǎn)自己給出無(wú)參構(gòu)造方法
07.03_面向?qū)ο?給成員變量賦值的兩種方式的區(qū)別)
- A:setXxx()方法
- 修改屬性值
- B:構(gòu)造方法
- 給對(duì)象中屬性進(jìn)行初始化
07.06_面向?qū)ο?創(chuàng)建一個(gè)對(duì)象的步驟)(掌握)
- A:畫圖演示
- 畫圖說(shuō)明一個(gè)對(duì)象的創(chuàng)建過(guò)程做了哪些事情?
- Student s = new Student();
- 1,Student.class加載進(jìn)內(nèi)存(方法區(qū))
- 2,聲明一個(gè)Student類型引用s
- 3,在堆內(nèi)存創(chuàng)建對(duì)象,
- 4,給對(duì)象中屬性默認(rèn)初始化值
- 5,屬性進(jìn)行顯示初始化
- 6,構(gòu)造方法進(jìn)棧,對(duì)對(duì)象中的屬性賦值,構(gòu)造方法彈棧
- 7,將對(duì)象的地址值賦值給s

創(chuàng)建對(duì)象的步驟.png
07.09_面向?qū)ο?static關(guān)鍵字及內(nèi)存圖)(了解)
-
方法區(qū)里面,每個(gè)字節(jié)碼對(duì)象,有靜態(tài)區(qū)和非靜態(tài)區(qū)
靜態(tài)內(nèi)存圖.png
07.10_面向?qū)ο?static關(guān)鍵字的特點(diǎn))(掌握)
- A:static關(guān)鍵字的特點(diǎn)
- a:隨著類的加載而加載
- b:優(yōu)先于對(duì)象存在(字節(jié)碼加載到方法區(qū)已經(jīng)存在和初始化)
- c:被類的所有對(duì)象共享
- 舉例:咱們班級(jí)的學(xué)生應(yīng)該共用同一個(gè)班級(jí)編號(hào)。
- 其實(shí)這個(gè)特點(diǎn)也是在告訴我們什么時(shí)候使用靜態(tài)?
- 如果某個(gè)成員變量是被所有對(duì)象共享的,那么它就應(yīng)該定義為靜態(tài)的。
- 舉例:
- 飲水機(jī)(全班學(xué)生使用同一個(gè)飲水機(jī),用靜態(tài)修飾)
- 水杯(不能用靜態(tài)修飾)
- 共性用靜態(tài),特性用非靜態(tài)
- d:可以通過(guò)類名調(diào)用
- 其實(shí)它本身也可以通過(guò)對(duì)象名調(diào)用。
- 推薦使用類名調(diào)用。
- 靜態(tài)修飾的內(nèi)容一般我們稱其為:與類相關(guān)的,類成員
07.11_面向?qū)ο?static的注意事項(xiàng))(掌握)
- A:static的注意事項(xiàng)
- a:在靜態(tài)方法中是沒(méi)有this關(guān)鍵字的
- 如何理解呢?
- 靜態(tài)是隨著類的加載而加載,this是隨著對(duì)象的創(chuàng)建而存在。
- 靜態(tài)比對(duì)象先存在。
- 如何理解呢?
- b:靜態(tài)方法只能訪問(wèn)靜態(tài)的成員變量和靜態(tài)的成員方法
- 靜態(tài)方法:
- 成員變量:只能訪問(wèn)靜態(tài)變量
- 成員方法:只能訪問(wèn)靜態(tài)成員方法
- 非靜態(tài)方法:
- 成員變量:可以是靜態(tài)的,也可以是非靜態(tài)的
- 成員方法:可是是靜態(tài)的成員方法,也可以是非靜態(tài)的成員方法。
- 簡(jiǎn)單記:
- 靜態(tài)只能訪問(wèn)靜態(tài)。
- 靜態(tài)方法:
- a:在靜態(tài)方法中是沒(méi)有this關(guān)鍵字的
07.12_面向?qū)ο?靜態(tài)變量和成員變量的區(qū)別)(掌握)
- 靜態(tài)變量也叫類變量 成員變量也叫對(duì)象變量
- A:所屬不同
- 靜態(tài)變量屬于類,所以也稱為為類變量
- 成員變量屬于對(duì)象,所以也稱為實(shí)例變量(對(duì)象變量)
- B:內(nèi)存中位置不同
- 靜態(tài)變量存儲(chǔ)于方法區(qū)的靜態(tài)區(qū)
- 成員變量存儲(chǔ)于堆內(nèi)存
- C:內(nèi)存出現(xiàn)時(shí)間不同
- 靜態(tài)變量隨著類的加載而加載,隨著類的消失而消失
- 成員變量隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象的消失而消失
- D:調(diào)用不同
- 靜態(tài)變量可以通過(guò)類名調(diào)用,也可以通過(guò)對(duì)象調(diào)用
- 成員變量只能通過(guò)對(duì) 象名調(diào)用
07.13_面向?qū)ο?main方法的格式詳細(xì)解釋)(了解)
- A:格式
- public static void main(String[] args) {}
- B:針對(duì)格式的解釋
- public 被jvm調(diào)用,訪問(wèn)權(quán)限足夠大。
- static 被jvm調(diào)用,不用創(chuàng)建對(duì)象,直接類名訪問(wèn)
- void被jvm調(diào)用,不需要給jvm返回值
- main 一個(gè)通用的名稱,雖然不是關(guān)鍵字,但是被jvm識(shí)別
- String[] args 以前用于接收鍵盤錄入的
07.14_面向?qū)ο?工具類中使用靜態(tài))(了解)
- A:制作一個(gè)工具類
- ArrayTool
- 1,獲取最大值
- 2,數(shù)組的遍歷
- 3,數(shù)組的反轉(zhuǎn)
//如果一個(gè)類中所有的方法都是靜態(tài)的,那么需要多做一步:私有構(gòu)造方法
private className() {}
07.15_面向?qū)ο?說(shuō)明書的制作過(guò)程)(了解)
- A:對(duì)工具類加入文檔注釋
- B:通過(guò)javadoc命令生成說(shuō)明書
- @author(提取作者內(nèi)容)
- @version(提取版本內(nèi)容)
- javadoc -d 指定的文件目錄 -author -version ArrayTool.java
- @param 參數(shù)名稱//形式參數(shù)的變量名稱@return 函數(shù)運(yùn)行完返回的數(shù)據(jù)
- eclipse導(dǎo)出項(xiàng)目文檔:File-->Export-->Java-->Javadoc 選擇需要導(dǎo)出的項(xiàng)目和類 即可
/**
* 返回?cái)?shù)組元素最大值
* @param arr 數(shù)組,必須是int數(shù)組
* @return 數(shù)組里面的最大值
*/
/**
* 數(shù)組工具類
* @author 小侯爺
* @version 1.0
*/
07.16_面向?qū)ο?如何使用JDK提供的幫助文檔)(了解)
- A:找到文檔,打開(kāi)文檔
- B:點(diǎn)擊顯示,找到索引,出現(xiàn)輸入框
- C:你應(yīng)該知道你找誰(shuí)?舉例:Scanner
- D:看這個(gè)類的結(jié)構(gòu)(需不需要導(dǎo)包)
- 成員變量 字段
- 構(gòu)造方法 構(gòu)造方法
- 成員方法 方法
07.17_面向?qū)ο?學(xué)習(xí)Math類的隨機(jī)數(shù)功能)(了解)
- 打開(kāi)JDK提供的幫助文檔學(xué)習(xí)
- A:Math類概述
- 類包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法
- B:Math類特點(diǎn)
- 由于Math類在java.lang包下,所以不需要導(dǎo)包。
- 因?yàn)樗某蓡T全部是靜態(tài)的,所以私有了構(gòu)造方法
- C:獲取隨機(jī)數(shù)的方法
- public static double random():返回帶正號(hào)的 double 值,該值大于等于 0.0 且小于 1.0。
- D:我要獲取一個(gè)1-100之間的隨機(jī)數(shù),腫么辦?
// 獲得 1-100 之間的隨機(jī)數(shù) (包含1、100)
int number = (int)(Math.random()*100)+1;
07.18_面向?qū)ο?猜數(shù)字小游戲案例)(了解)
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入一個(gè)整數(shù),范圍在1-100之間:");
int number = (int)(Math.random()*100 + 1);
while (true) {
int res = sc.nextInt() ;
if (res > number) {
System.out.println("猜的大了");
} else if ( res < number) {
System.out.println("猜的小了");
} else {
System.out.println("猜對(duì)了,good!");
break ;
}
}
sc.close();
END。
我是小侯爺。
在魔都艱苦奮斗,白天是上班族,晚上是知識(shí)服務(wù)工作者。
如果讀完覺(jué)得有收獲的話,記得關(guān)注和點(diǎn)贊哦。
非要打賞的話,我也是不會(huì)拒絕的。
