1.static修飾符:
a.有時(shí)候程序員可能需要定義一個(gè)類成員,對(duì)它的使用不依賴于該類的任何對(duì)象,要?jiǎng)?chuàng)建這樣的成員,成員的變量聲明前必須加上關(guān)鍵字static。成員聲明為static后,在創(chuàng)建該類的任何對(duì)象之前就可以訪問(wèn)它。
b.關(guān)鍵字static可應(yīng)用于變量、方法,甚至不屬于方法的一段代碼塊。生命靜態(tài)類的對(duì)象時(shí),不會(huì)生成靜態(tài)變量的副本。類的所有實(shí)例都共享一些靜態(tài)變量。
c.可以通過(guò)類名稱來(lái)調(diào)用靜態(tài)變量,也可以通過(guò)對(duì)類實(shí)例的引用來(lái)調(diào)用靜態(tài)變量。但建議通過(guò)類名稱來(lái)調(diào)用靜態(tài)變量。
d.方法聲明為靜態(tài)時(shí)具有某些限制,具體如:>它們只能調(diào)用其他靜態(tài)方法。
>它們必須只訪問(wèn)靜態(tài)數(shù)據(jù)。
>不能使用關(guān)鍵字this或super。
2.final修飾符:
a.final修飾符可應(yīng)用于類、方法、和變量。final變量的內(nèi)容不能更改。因此,聲明final變量時(shí),必須將其初始化。
b.聲明為final的變量不會(huì)在每個(gè)實(shí)例中都占用內(nèi)存,也就是說(shuō),可以認(rèn)為final變量就是常量。
c.通常的做法是為final變量選擇大寫的標(biāo)識(shí)符。
d.當(dāng)關(guān)鍵字final應(yīng)用于方法時(shí),它意味著方法不能被重寫。如果對(duì)象已聲明為final,對(duì)該對(duì)象的引用則不能更改,但它的值可以更改。
3.abstract修飾符:
a.父類中的某些方法不包含任何邏輯,并且需要由子類重寫。在這種情況下,應(yīng)該使用關(guān)鍵字abstract來(lái)聲明父類中的方法。
b.子類提供這種abstract這種方法的實(shí)現(xiàn)細(xì)節(jié),而父類僅提供此方法的名稱和聲明,沒(méi)有方法的主體。
c.任何一個(gè)或多個(gè)抽象方法的類也應(yīng)該聲明為抽象。
d.要聲明一個(gè)抽象類,在class關(guān)鍵字前應(yīng)該加上abstract。
e.抽象類不能被實(shí)例化。構(gòu)造方法和static類方法不能聲明為abstract。Abstract類的任何子類必須實(shí)現(xiàn)在父類中聲明的所有abstract方法,否則子類必須聲明為抽象類。
f.abstract類不能有對(duì)象,但它們可以用來(lái)創(chuàng)建對(duì)象的引用,因?yàn)?/span>Java運(yùn)行時(shí)多態(tài)性是通過(guò)父類引用實(shí)現(xiàn)的。因此,對(duì)象可用來(lái)創(chuàng)建對(duì)抽象類的引用,抽象類可以指向子類的對(duì)象。
g.如果方法定義為抽象,那么此方法所在的類也必須為抽象。
posted @
2008-03-19 23:31 Empressement Conduct 閱讀(520) |
評(píng)論 (0) |
編輯 收藏