1.類是構(gòu)造對(duì)象的木板或藍(lán)圖,類構(gòu)造對(duì)象的過(guò)程稱為創(chuàng)建類的實(shí)例
2.封裝:把數(shù)據(jù)和行為組合在一個(gè)包中,并對(duì)對(duì)象的使用者隱藏了數(shù)據(jù)的實(shí)現(xiàn)方式,對(duì)象中數(shù)據(jù)稱為實(shí)例域,操縱數(shù)據(jù)的過(guò)程稱為方法
3.類之間的關(guān)系:
依賴:uses-a 一個(gè)類的對(duì)象需要訪問(wèn)另一個(gè)類的對(duì)象的數(shù)據(jù)。要減少依賴
聚合:has-a 聚合關(guān)系意味著類A的對(duì)象包含類B的對(duì)象 ?也叫關(guān)聯(lián)
繼承:is-a
4.并不是所有的類都具有面向?qū)ο蟮奶卣鳎热鏜ath類,只封裝了功能,沒(méi)有隱藏?cái)?shù)據(jù)
5.Java使用構(gòu)造器構(gòu)造新實(shí)例,構(gòu)造器是一種特殊的方法,用來(lái)構(gòu)造并初始化對(duì)象
要想構(gòu)造一個(gè)對(duì)象,要在構(gòu)造器前面加上new操作符 例如 new Date()
6.Date deadLine = new Date();
deadLine是對(duì)象變量,一個(gè)對(duì)象變量并沒(méi)有實(shí)際包含一個(gè)對(duì)象,而是引用了一個(gè)對(duì)象。
表達(dá)式 new Date() 構(gòu)造了一個(gè)Date類型的對(duì)象,并且它的值是對(duì)新創(chuàng)建對(duì)象的引用,這個(gè)引用存儲(chǔ)在deadLine中
7.簡(jiǎn)單的區(qū)別Date和Calendar:
java.util.Date :是日期數(shù)據(jù)
java.util.Calendar :是日歷數(shù)據(jù),用于日期的相關(guān)計(jì)算
推薦使用Calendar
8.對(duì)實(shí)例域作出修改的方法稱為更改器方法,訪問(wèn)實(shí)例域不修改稱為訪問(wèn)器方法
9.隱式參數(shù)與顯式參數(shù)
隱式參數(shù):是出現(xiàn)在方法名前的 ?
顯示參數(shù):出現(xiàn)在方法名后面括號(hào)中的 ?例如
public void raiseMoney(double lalala){
? ? double raise = this.salary * lalala;
? ? ?this.salaary+=raise;
}
lalala顯式參數(shù), ?salary隱式參數(shù),在方法前 ?實(shí)例域中聲明了
10.建議使用類名而不是對(duì)象來(lái)調(diào)用靜態(tài)方法
11.使用靜態(tài)方法的情況:
1)一個(gè)方法不需要訪問(wèn)對(duì)象的狀態(tài),其所需的參數(shù)都是通過(guò)顯示參數(shù)提供的
2)一個(gè)方法只需要訪問(wèn)類的靜態(tài)域
12.java總是按值調(diào)用的,方法得到的是所有參數(shù)值的一個(gè)拷貝,方法不能修改傳遞給他的任何參數(shù)變量的內(nèi)容 例如
int x = 1;
A.addlala(x);
執(zhí)行完成后 x的值還是1
13.總結(jié)java程序設(shè)計(jì)語(yǔ)言方法參數(shù)的使用情況
1)一個(gè)方法不能修改一個(gè)基本數(shù)據(jù)類型的參數(shù)(即數(shù)值型和布爾型)
2)一個(gè)方法可以改變對(duì)象參數(shù)的狀態(tài)
3)一個(gè)方法不能讓對(duì)象參數(shù)引用一個(gè)新的對(duì)象;
路iru: A a = new A();
? ? ? ? ? ? ?B b = new B();
? ? ? ? ? ? swap(a,b) ?(swap方法的作用是交換a,b)
操作對(duì)象變量 ?沒(méi)有用 執(zhí)行完 a還是a,b還是b
14.如果多個(gè)方法,有相同的名字,不同的參數(shù),便產(chǎn)生了重載。java允許沖澡恩和方法,不能有兩個(gè)名字相同,參數(shù)類型也相同但是返回值類型不同的方法
15.如果類中提供了至少一個(gè)構(gòu)造器,但是沒(méi)有提供無(wú)參構(gòu)造器,則在構(gòu)造對(duì)象時(shí)如果沒(méi)有提供參數(shù),就會(huì)被視為不合法
16.如果構(gòu)造器的第一個(gè)語(yǔ)句如this(……),這個(gè)構(gòu)造器將調(diào)用同一個(gè)類的另一個(gè)構(gòu)造器
17.調(diào)用構(gòu)造器的具體處理步驟:
1)所有數(shù)據(jù)被初始化為默認(rèn)值 0 false null等
2)如果在類聲明中出現(xiàn)次序,一次執(zhí)行所有域初始化語(yǔ)句和初始化塊
3)如果在構(gòu)造器的第一行調(diào)用了第二個(gè)構(gòu)造器,則執(zhí)行第二個(gè)構(gòu)造器的主題
4)執(zhí)行這個(gè)構(gòu)造器的主體
18.finalize方法在垃圾回收器清除對(duì)象之前調(diào)用。最好不用
19import語(yǔ)句還可以導(dǎo)入靜態(tài)方法和靜態(tài)域