面向對象: 程式由對象構成,每個對象包含對用戶公開的特定功能部分(public)和隱藏實現部分(private)。 類: 構造對象的模板 對象: 對象的行為 可以對對象施加的操作(方法) 對象的狀態 對象的域的值 對象的表示 行為相同,但狀態不同的對象(equals()方法) 類之間的關係: 依賴 ...
面向對象:
程式由對象構成,每個對象包含對用戶公開的特定功能部分(public)和隱藏實現部分(private)。
類:
構造對象的模板
對象:
對象的行為 --- 可以對對象施加的操作(方法)
對象的狀態 --- 對象的域的值
對象的表示 --- 行為相同,但狀態不同的對象(equals()方法)
類之間的關係:
依賴 --- 一個類中使用另一個類的對象
聚合 --- 兩個或兩個以上的類組合成一個新的類
繼承 --- 一個類是另一個類的子類
更改器和訪問器方法:
JavaBean中是setter和getter方法。
更改器用於更改目前對象的狀態(對象域的值)
訪問器用於查看目前對象的狀態(對象域的值)
用戶自定義類:
class 類名 {
欄位;
方法;
}
構造器:
public 類名 (參數){
語句;
}
1.構造器和類同名
2.每個類可以有一個以上的構造器
3.構造器可以有0個,1個,或多個參數
4.構造器沒有返回值
5.構造器總是伴隨著new關鍵字一起使用
隱式參數和顯示參數:
當欄位和方法的參數名相同時,方法中預設使用的參數,使用欄位時需要使用this.欄位名區別於方法參數
封裝(setter and getter 方法):
使得對象的欄位不能直接訪問,提高安全性
一個私有的數據域
一個公共的域訪問器
一個公共的域更改器
私有方法:
private 修飾的方法,對外部進行隱藏,不讓外部對象直接訪問,由類的方法自己調用,可以隨意修改實現的方式。
final實例域:
final修飾的欄位,只可以賦值一次,當對象初始化之後便不能在修改。
靜態域和靜態方法:
static關鍵字修飾的欄位和方法,直接由類名訪問,屬於類所有。
靜態常量:
static final修飾的變數
靜態工廠方法:
使用方法直接獲取某個類的對象。
重載:
方法名相同,參數列表不同
對象的初始化:
1.預設初始化:基本數據類型中,數值型賦值為0或0.0,boolean類型賦值為false ,char類型賦值為/u0000,引用數據類型賦值為null
2.顯示初始化:在構造器中顯示的給欄位賦值
3.調用另一個構造器:使用this(參數列表)來調用,this()方法必須位於構造方法的第一行
4.初始化塊:在類成員位置放置一個代碼塊{},其中對類的欄位進行初始化
包:
為啥使用包:確保類名的唯一性
類的導入: import 包名.類名
靜態導入:導入包中的靜態方法和靜態變數等靜態資源: import static 包名.類名.靜態資源
將包放入類中:package 包名
包的作用域:
public修飾的方法和欄位 ,所有的類都可以使用
private修飾的方法和欄位 ,只有本類可以調用
protect修飾的方法和欄位 , 同一個包中的類和繼承的子類可以使用
無修飾符的,只有同一個包中的類可以訪問
類的設計技巧:
1.一定要保證數據私有
2.一定要對數據初始化
3.不要在類中使用過多的基本數據類型
4.不是所有的域都需要getter setter方法
5.可以將過多功能的類分解成多個類
6.類名和方法名儘量見名知意
7.優先使用final修飾的類:不可變類。