06.01_面向?qū)ο?面向?qū)ο笏枷敫攀?(了解)
-
A:面向過程思想概述
- 第一步
- 第二步
-
B:面向?qū)ο笏枷敫攀?/p>
- 找對(duì)象(第一步,第二步)
-
D:面向?qū)ο笏枷胩攸c(diǎn)
- a:是一種更符合我們思想習(xí)慣的思想
- b:可以將復(fù)雜的事情簡(jiǎn)單化
- c:將我們從執(zhí)行者變成了指揮者
- 角色發(fā)生了轉(zhuǎn)換
-
E:面向?qū)ο箝_發(fā)
- 就是不斷的創(chuàng)建對(duì)象,使用對(duì)象,指揮對(duì)象做事情。
-
F:面向?qū)ο笤O(shè)計(jì)
- 其實(shí)就是在管理和維護(hù)對(duì)象之間的關(guān)系。
-
G:面向?qū)ο筇卣?/p>
- 封裝(encapsulation)
- 繼承(inheritance)
- 多態(tài)(polymorphism)
06.02_面向?qū)ο?類與對(duì)象概述)(掌握)
- A:我們學(xué)習(xí)編程是為了什么
- 為了把我們?nèi)粘I钪袑?shí)物用學(xué)習(xí)語(yǔ)言描述出來(lái)
- B:我們?nèi)绾蚊枋霈F(xiàn)實(shí)世界事物
- 屬性 就是該事物的描述信息(事物身上的名詞)
- 行為 就是該事物能夠做什么(事物身上的動(dòng)詞)
- C:Java中最基本的單位是類,Java中用class描述事物也是如此
- 成員變量 就是事物的屬性
- 成員方法 就是事物的行為
- D:定義類其實(shí)就是定義類的成員(成員變量和成員方法)
- a:成員變量 和以前定義變量是一樣的,只不過位置發(fā)生了改變。在類中,方法外。
- b:成員方法 和以前定義方法是一樣的,只不過把static去掉,后面在詳細(xì)講解static的作用。
- E:類和對(duì)象的概念
- a:類:是一組相關(guān)的屬性和行為的集合
- b:對(duì)象:是該類事物的具體體現(xiàn)
class Student
{
String name ; //姓名
int age ; //年齡
String gender; //性別
public void study() {
System.out.println("學(xué)習(xí)方法");
}
public void sleep() {
System.out.println("睡覺方法");
}
}
06.05_面向?qū)ο?學(xué)生類的使用)(掌握)
- A:文件名問題
- 在一個(gè)java文件中寫兩個(gè)類:一個(gè)基本的類,一個(gè)測(cè)試類。
- 建議:文件名稱和測(cè)試類名稱一致。
- B:如何使用對(duì)象?
- 創(chuàng)建對(duì)象并使用
- 格式:類名 對(duì)象名 = new 類名();
- D:如何使用成員變量呢?
- 對(duì)象名.變量名
- E:如何使用成員方法呢?
- 對(duì)象名.方法名(...)
Student s1 = new Student();
s1.name = "Houwa侯";
s1.study();
System.out.println(s1.name);
06.07_面向?qū)ο?一個(gè)對(duì)象的內(nèi)存圖)(掌握)

Paste_Image.png
06.08_面向?qū)ο?二個(gè)對(duì)象的內(nèi)存圖)(了解)

Paste_Image.png
06.09_面向?qū)ο?三個(gè)引用兩個(gè)對(duì)象的內(nèi)存圖)(了解)
- A:畫圖演示
- 三個(gè)引用,有兩個(gè)對(duì)象的引用指向同一個(gè)地址
注意 棧、堆、方法區(qū)的區(qū)別
- 三個(gè)引用,有兩個(gè)對(duì)象的引用指向同一個(gè)地址
06.10_面向?qū)ο?成員變量和局部變量的區(qū)別)(掌握)
-
A:在類中的位置不同
- 成員變量:在類中方法外
- 局部變量:在方法定義中或者方法聲明上
-
B:在內(nèi)存中的位置不同
- 成員變量:在堆內(nèi)存(成員變量屬于對(duì)象,對(duì)象進(jìn)堆內(nèi)存)
- 局部變量:在棧內(nèi)存(局部變量屬于方法,方法進(jìn)棧內(nèi)存)
-
C:生命周期不同
- 成員變量:隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象的消失而消失
- 局部變量:隨著方法的調(diào)用而存在,隨著方法的調(diào)用完畢而消失
-
D:初始化值不同
- 成員變量:有默認(rèn)初始化值
- 局部變量:沒有默認(rèn)初始化值,必須定義,賦值,然后才能使用。
-
注意事項(xiàng):
- 局部變量名稱可以和成員變量名稱一樣,在方法中使用的時(shí)候,采用的是就近原則。
- 基本數(shù)據(jù)類型變量包括哪些:byte,short,int,long,float,double,boolean,char
- 引用數(shù)據(jù)類型變量包括哪些:數(shù)組,類,接口,枚舉
06.11_面向?qū)ο?方法的形式參數(shù)是類名的時(shí)候如何調(diào)用)(掌握)
- A:方法的參數(shù)是類名public void print(Student s){}//print(new Student());
- 如果你看到了一個(gè)方法的形式參數(shù)是一個(gè)類類型(引用類型),這里其實(shí)需要的是該類的對(duì)象。
public void change(Student s)
{
// 引用類型 的參數(shù),會(huì)真實(shí)改變對(duì)象的值
s.name = "XXOO";
}
06.12_面向?qū)ο?匿名對(duì)象的概述和應(yīng)用)(掌握)
- A:什么是匿名對(duì)象
- 沒有名字的對(duì)象
- B:匿名對(duì)象應(yīng)用場(chǎng)景
- a:調(diào)用方法,僅僅只調(diào)用一次的時(shí)候。
- 那么,這種匿名調(diào)用有什么好處嗎?
- 節(jié)省代碼
- 注意:調(diào)用多次的時(shí)候,不適合。匿名對(duì)象調(diào)用完畢就是垃圾??梢员焕厥掌骰厥铡?/li>
- 那么,這種匿名調(diào)用有什么好處嗎?
- b:匿名對(duì)象可以作為實(shí)際參數(shù)傳遞
- a:調(diào)用方法,僅僅只調(diào)用一次的時(shí)候。
// 創(chuàng)建有名字的對(duì)象
Student s1 = new Student();
s1.name = "Houwa侯";
s1.study();
// 匿名對(duì)象
new Student().study();
new Student().name = "XXOO" ; //無(wú)意義的
06.13_面向?qū)ο?封裝的概述)(掌握)
-
A:封裝概述
- 是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問方式。
-
B:封裝好處
- 隱藏實(shí)現(xiàn)細(xì)節(jié),提供公共的訪問方式
- 提高了代碼的復(fù)用性
- 提高安全性。
-
C:封裝原則
- 將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái)。
- 把屬性隱藏,提供公共方法對(duì)其訪問。
06.14_面向?qū)ο?private關(guān)鍵字的概述和特點(diǎn))(掌握)
- A:人類賦值年齡的問題
- B:private關(guān)鍵字特點(diǎn)
- a:是一個(gè)權(quán)限修飾符
- b:可以修飾成員變量和成員方法
- c:被其修飾的成員只能在本類中被訪問
- C:案例演示
- 封裝和private的應(yīng)用:
- A:把成員變量用private修飾
- B:提供對(duì)應(yīng)的getXxx()和setXxx()方法
- private僅僅是封裝的一種體現(xiàn)形式,不能說封裝就是私有
06.15_面向?qū)ο?this關(guān)鍵字的概述和應(yīng)用)(掌握)
- A:this關(guān)鍵字特點(diǎn)
- 代表當(dāng)前對(duì)象的引用
class Student
{
int age ; //年齡
public void sleep(int age) { //變量的使用是--就近原則
System.out.println(age); //局部變量
System.out.println(this.age); //成員變量
}
public void setAge(int age) {
this.age = age; //這里不加this就是局部變量,沒意義了
}
}
END。
我是小侯爺。
在魔都艱苦奮斗,白天是上班族,晚上是知識(shí)服務(wù)工作者。
如果讀完覺得有收獲的話,記得關(guān)注和點(diǎn)贊哦。
非要打賞的話,我也是不會(huì)拒絕的。