Java面向對象(上)
一.面向對象的概念
1.面向過程
分析解決問題所需的步驟,然後用函數把這些步驟一一實現,使用的時候一個一個依次調用
2.面向對象
把解決的問題按照一定的規則劃分成多個獨立的對象,退過調用對象的方法來解決問題,通過多個對象的配合來實現程序的功能
二.類與對象
1.類的概念
用來描述一組對象的共同特征和行為,是對象的藍圖
2.類的介紹
類中包含成員變量與成員方法
(1)成員變量
用於描述對象的特征,也被稱為屬性,寫在方法體外面,分為靜態變量(類變量)用static修飾和實例變量不用static修飾
(2)成員方法
用於描述對象的行為,也被稱為方法,包含方法體與局部變量。局部變量可與成員變量同名。
3.對象的創建與使用
(1)創建對象
類名 對象名; //創建應用變量
new Person(); //實例化一個類
對象名=new Person(); //創建鏈接
*連在一起就是:
類名 對象名=new 類名();
如:Person pr=new Person();
*對象是放在垃圾回收對象的,當沒有任何變量引用這個對象時它將成為垃圾對象被回收
(2)方法和屬性的調用
對象引用.方法名()或.屬性;
如:pr.ag;
pr.print();
4.類的封裝
(1)概念
是將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。
(2)好處
只能通過規定方法訪問數據、隱藏類的實現細節、方便加入控制語句、方便修改實現
(3)使用
用private來修飾所要封裝的方法和屬性
通過設置器 setXXX()和訪問器 getXXX()來修改和訪問,設置器和訪問器不能用private修飾
三.構造方法
1.定義
方法名與類名相同,方法名前面沒有返回值類型的聲明,方法中不能用return返回一個值
2.作用
僅用於初始化對象,如果自己不定義系統會自定義一個無參的構造方法,一旦自己定義系統不會在自定義了
3.構造方法的重載
一個類中可以定義多個構造方法,但方法的參數類型或參數個數不同即可
四.this和static關鍵字
1.this用法
(1)通過this.成員變量,可以去訪問一個類的成員變量,解決與局部變量名字沖突的問題
(2)通過this調用成員方法
(3)通過this()來調用其他構造方法
(4)this本類當中的對象(不常用)
2.static
被static修飾的隨類的加載爾創建,且只能創建一次,非靜態方法可以調用靜態變量,靜態方法不能調用實例變量
在定義一個類時並不會產生具體數據,只有用new關鍵字實例化一個對象時,系統才會為該對象分配內存空間
(1)靜態變量
有時候我們希望某些特定的數據在內存中只有一份,且能被每個對象所共享我們需要靜態
變量即用static修飾的成員變量不能用於修飾局部變量
(2)靜態方法
不需要創建對象就可以調用的方法,用static修飾的方法
(3)靜態代碼塊
static{}
五.內部類
1.成員內部類
他可以訪問外部類的屬性和方法,
外部類名.內部類名 變量名=new 外部類名().new 內部類名();
2.靜態內部類
用static修飾一個成員內部類,他可以在不創建外部類對象時被實例化
3.方法內部類
只能在當前方法中使用
Java面向對象(上)