-------
android培訓、java培訓、期待與您交流! ----------
1:面向對象
(1)面向對象:是一種編程思想。
A:它是相對於面向過程而言的。
a:面向過程強調的是過程
b:面向對象強調的是對象調用功能,看最終的結果
B:它是基於面向過程的。
(2)面向對象的特點:
A:是一種符合人們思考習慣的一種思想。
B:把複雜的事情簡單化了。
C:是我們從以前的執行者變成了現在的指揮者。
舉例:
電腦城買電腦
宅男班長不出門吃飯
去飯店吃飯
自己洗衣服,做飯
面試怎麼談???
(3)類與對象的關係
A:類和對象分別是什麼?
a:類 是對同一類事物的抽象
b:對象 是該類事物的具體的存在的個體
B:java是怎麼來描述現實世界事物的?
a:現實世界的事物可以通過屬性和行爲來描述
b:java對現實世界的事物是通過類來體現的
c:java中的成員和現實世界事物的對應關係:
成員變量:屬性
成員方法:行爲
(5)注意:
A:有對象,就直接用。沒有對象,就創建對象用。
B:如何創建對象呢?
通過new來創建對象。
格式:
類名 對象名 = new 類名();
C:如何使用對象呢?
對象名.方法名(參數)
對象名.屬性名 其實這裏是一個它所定義類型的數據
2:封裝
(1)隱藏實現細節,提供公共的訪問方式。
(2)好處:
使變化隔離
便於使用
提高複用性
提高安全性
舉例:電腦機箱問題
(3)java中如何體現封裝呢?
類,方法。
用private私有關鍵字體現。
A:是一個訪問修飾關鍵字
B:可以修飾成員方法和成員變量
C:只能在本類中被訪問
(4)代碼體現:
class Student
{
//封裝
private String name;
private int age;
//構造方法
public Student(){}
public Student(String name,int age)
{
//this關鍵字
this.name = name;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
}
3:繼承
(1)繼承:在java中,我們在定義一個類的時候,可以不用全部定義類中的內容,
通過繼承把其他類的非私有功能可以直接擁有。
(2)父類:被繼承的類。(超類,基類)
子類:繼承其他類的類。
(3)繼承的好處:
A:提高代碼的複用性。
B:讓類與類之間產生了關係,是多態的前提。
(4)使用繼承:
格式:
class 類A extends 類B{}
什麼使用時候繼承呢?
假設判斷法。
繼承是:"is a"的關係 "x is a y"
(5)特點:
A:java只支持單繼承
B:java可以支持多重(層)繼承
內存圖:
4:多態
(1)多態:就是對象在不同時刻代表的不同狀態。
舉例:
水(水蒸氣,水,冰)
(2)多態的前提:
A:有繼承關係
B:有方法的重寫
C:有父類引用指向子類對象
舉例:
class Fu{ public void show(){sop("Fu")} }
class Zi extends Fu{ public void show(){sop("zi")} }
多態:
Fu f = new Zi();
(3)多態的好處:
A:提高了代碼的後期的維護性
B:提高了代碼的後期的擴展性
弊端:只能使用父類中定義過的方法。子類特有方法不能使用。
(4)多態研究的內容(對象):
A:成員變量:
編譯看左邊,執行看左邊
B:成員方法:
編譯看左邊,執行看右邊
C:靜態修飾成員:
編譯看左邊,執行看左邊
注意:跟對象無關,也可以說不能算作多態的內容。
靜態修飾的東西。
向上轉型:爲了多態使用對象
向下轉型:爲了使用對象的特殊功能
多態的內存圖:
-------
android培訓、java培訓、期待與您交流! ----------