標籤:屬性 建立對象 允許 常用 類變數 語句 代碼 個數 面向過程
一.物件導向的概念
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物件導向(上)