JAVA面向對象
面向對象的概念:
面向對象:
- 虛擬世界模擬現實生活,必須保證模擬一致
面向過程:
- ……
類:
- 對同一事物的抽象描述,也就是:不是具體的
- 如:電腦類、水杯類、鍵盤類……
對象:
- 萬物皆對象,也就是說:具體的實例
- 如:我的電腦、張三的電腦……
類與對象之間的關係:
- 抽象與具體的關係
描述對象的特徵,稱爲屬性,如顏色、價格、尺寸……
- 如:張三(名字、性別、年齡、身高……)
將多個對象找到相同的屬性和方法組合在一起,形成類
-
學生類:
-
屬性:
- 名字、性別、年齡……
-
方法:
- 學習……
-
創建對象:
- 類名 對象名 = new 類名();
(對象)使用成員變量:
- 對象名.變量名;
(對象)使用成員方法:
- 對象名.方法名();
創建對象:
語法格式:
- 類名 引用名稱 = new 類名();
成員變量和局部變量:
聲明位置不同:
-
成員變量:
- 在類中聲明
-
局部變量:
- 在方法中聲明,其中形參也屬於局部變量
初始值不同:
-
成員變量:
- 在沒有賦值時,是有默認值的,數據類型不同,則默認值不同
-
局部變量:
- 沒有默認值,必須先聲明,然後再賦值,纔可使用
在同一個類中,成員變量的名字可以與局部變量名字同名,但是局部變量名字優先,也就是就近優先,如果非要訪問成員變量則必須添加this
訪問對象中的屬性和方法:
語法格式:
-
訪問屬性語法格式:
- 引用名稱.屬性
-
訪問方法語法格式:
- 引用名稱.方法名稱();
對對象中的屬性值賦值:
- 引用名稱.屬性名稱=值;
空指針異常
屬於運行錯誤
- java.lang.NullPointException
原因:
- 當引用名稱的值爲null時,就不能訪問某個對象中的屬性或方法,如果非要訪問則出現空指針異常
解決方法:
- 在訪問某個對象中的屬性中或方法值之前必須保證該引用名稱中存放的是對象的引用地址(if判斷)
變量按數據類型分爲:
基本數據類型:
-
在內存中存放真正的值
- 4大類,共計8種
引用數據類型:
-
在內存中存放的是地址(引用)
-
String
-
自定義類型(用戶)
-
如:
- Student類
-
-
對引用數據類型賦值的方法:
-
1、將對象賦給引用名稱:
- s=new Student();
-
2、將null值賦給引用名稱:
- s=null;
構造方法以及重載:
作用:
- 完成對對象中的屬性賦值
構造方法:
-
語法格式:
- public 類名([參數列表]){
}
-
構造方法是一個特殊的方法,構造方法名字必須與類名一致,構造方法必須沒有返回類型,也就是不編寫返回類型,可有參(任意n個),可無參
-
有參:
- this.color=color;
-
-
構造方法如何執行的?
-
構造方法分類:
-
隱式構造方法:
- 在一個類中,沒有手動編寫構造方法,則系統會提供一個默認的無參的構造方法
-
顯示構造方法:
- 在一個類中,手動編寫構造方法,則系統就不會提供默認的無參構造方法
-
構造方法:
- 建議:當手動編寫構造方法時,先無參,後需要參數
-
構造方法的重載:
-
在一個類中,構造方法必須名字相同,參數列表不同:
- 個數不同
- 類型不同
- 順序不同