




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章JAVA面向?qū)ο缶幊袒A(chǔ)主要內(nèi)容定義類創(chuàng)建類的實(shí)例對(duì)象構(gòu)造函數(shù)訪問控制修飾符靜態(tài)屬性、靜態(tài)方法與靜態(tài)初始化器抽象類與抽象方法最終類、最終屬性、最終方法與終結(jié)器其他修飾符及修飾符的混合使用系統(tǒng)定義的類Java.io包Java.awt包Java.applet包J包…用戶程序自定義類語法結(jié)構(gòu):[修飾符]class類名[extends父類][implements接口名]{
類成員變量聲明;類方法聲明;}創(chuàng)建類的實(shí)例對(duì)象創(chuàng)建對(duì)象的一般格式:
類名新建對(duì)象名=new
構(gòu)造函數(shù)();例如:
TextFieldinput=newTextField(6);例如:
PhoneCard
myCard=newPhoneCard();
myCard.balance=50.0;構(gòu)造函數(shù)例如:
PhoneCard
newCard=new
PhoneCard(12345678,1234,50.0,“300”);PhoneCard
(longcn,int
pw,doubleb,Strings){
cardNumber=cn; password=pw; balance=b;
connectNumber=s; connected=false;}構(gòu)造函數(shù)的特殊性(1)構(gòu)造函數(shù)的方法名與類名相同。(2)構(gòu)造函數(shù)沒有返回類型。(3)構(gòu)造函數(shù)的主要作用是完成對(duì)類對(duì)象的初始化工作。(4)構(gòu)造函數(shù)一般不能由編程人員顯式直接調(diào)用。(5)在創(chuàng)建一個(gè)類的新對(duì)象的同時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類的構(gòu)造函數(shù)為新對(duì)象初始化。構(gòu)造函數(shù)的作用——引入更多的靈活度PhoneCard(longcn,int
pw,doubleb,Strings){
cardNumber=cn; password=pw;
if(b>0) balance=b;else System.exit(1);
connectNumber=s; connected=false;}訪問控制修飾符圖5-1程序中的訪問控制區(qū)域
類屬性與方法public缺省publicABprotectedB+CB缺省BBprivateprotectedC+DE+DprivateDD表5-1類、屬性和方法的訪問控制作業(yè)與練習(xí)書寫語句完成下面的功能:(1)定義一個(gè)類,其名稱為MyClass,它可以被所有的其他類訪問。(2)將對(duì)象Object1的屬性field1在屏幕上顯示出來。(3)調(diào)用對(duì)象Object1的方法method1,把返回值賦值給變量Hold。(4)定義一個(gè)整型屬性Mine,使得只有這個(gè)類本身可以訪問它。(5)為類Class定義一個(gè)整型變量fidld2,使得所有其他類都可以訪問它。(6)為類Class2編寫構(gòu)造函數(shù)的方法頭,該構(gòu)造函數(shù)不接受任何形式參數(shù)。(7)為類Class2編寫構(gòu)造函數(shù)的方法頭,該構(gòu)造函數(shù)接受兩個(gè)整型形式參數(shù)。靜態(tài)屬性classPhoneCard200 {
staticStringconnectNumber=″200″;
staticdoubleadditoryFee; longcardNumber;
intpassword;
booleanconnected; doublebalance; … }
靜態(tài)方法聲明一個(gè)方法為static至少有三重含義:調(diào)用這個(gè)方法時(shí),應(yīng)該使用類名做前綴,而不是某一個(gè)具體的對(duì)象名;(2)非static的方法是屬于某個(gè)對(duì)象的方法,在這個(gè)對(duì)象創(chuàng)建時(shí)對(duì)象的方法在內(nèi)存中擁有自己專用的代碼段;而static的方法是屬于整個(gè)類的,它在內(nèi)存中的代碼段將隨著類的定義而分配和裝載,不被任何一個(gè)對(duì)象專有;(3)由于static方法是屬于整個(gè)類的,所以它不能操縱和處理屬于某個(gè)對(duì)象的成員變量,而只能處理屬于整個(gè)類的成員變量,也即,static方法只能處理static域。例如:在PhoneCard200中如果需要修改附加費(fèi),可以定義一個(gè)靜態(tài)方法setAdditory()。staticvoidsetAdditory(doublenewAdd) {
if(newAdd>0)
additoryFee=newAdd; }靜態(tài)初始化器靜態(tài)初始化器在三點(diǎn)上與構(gòu)造函數(shù)有根本的不同:構(gòu)造函數(shù)是對(duì)每個(gè)新創(chuàng)建的對(duì)象初始化,而靜態(tài)初始化器是對(duì)類自身進(jìn)行初始化。(2)構(gòu)造函數(shù)是在用new運(yùn)算符產(chǎn)生新對(duì)象時(shí)由系統(tǒng)自動(dòng)執(zhí)行,而靜態(tài)初始化器則是在它所屬的類加載入內(nèi)存時(shí)由系統(tǒng)調(diào)用執(zhí)行。(3)不同于構(gòu)造函數(shù),靜態(tài)初始化器不是方法,沒有方法名、返回值和參數(shù)列表。抽象類鳥:鴿子、燕子、麻雀、天鵝…天鵝:天鵝是一種脖子長(zhǎng)長(zhǎng),姿態(tài)優(yōu)美的候鳥。燕子:燕子是一種長(zhǎng)著剪刀似的尾巴,喜在屋檐下筑巢的鳥。鳥:鳥是一種長(zhǎng)著翅膀和羽毛的卵生動(dòng)物。圖5-2電話卡及其子類的層次關(guān)系樹例如:定義一種集合了所有種類的電話卡的公共特點(diǎn)的抽象電話卡
abstractclassPhoneCard { doublebalance; voidperformDial() { … } }抽象方法例如:抽象類PhoneCard中的一個(gè)抽象方法:
abstractvoidperformDial();注意:所有的抽象方法,都必須存在于抽象類之中。一個(gè)非抽象類中出現(xiàn)抽象方法是非法的,也即,一個(gè)抽象類的子類如果不是抽象類,則它必須為父類中的所有抽象方法書寫方法體。不過抽象類不一定只能擁有抽象方法,它可以包含非抽象的方法。圖5-2電話卡及其子類的層次關(guān)系樹最終類最終屬性
例如:
staticfinalStringconnectNumber=″200″;用final修飾符說明常量時(shí),需要注意以下幾點(diǎn):(1)需要說明常量的數(shù)據(jù)類型。(2)需要同時(shí)指出常量的具體取值。(3)因?yàn)樗蓄悓?duì)象的常量成員,其數(shù)值都固定一致,為了節(jié)省空間,常量通常聲明為static。最終方法注意:所有已被private修飾符限定為私有的方法,以及所有包含在final類中的方法,都被缺省地認(rèn)為是final的。終結(jié)器Publicvoidfinalize(){
System.out.println(“AnObjectof”+toString()+”hasbeenfree&collected”)}
修飾符混用時(shí)需要注意的問題
(1)abstract不能與final并列修飾同一個(gè)類。(2)abstract不能與private,static,final或native并列修飾同一個(gè)方法。(3)abstract類中不能有private的成員(包括屬性和方法)。(4)abstract方法必須在abstract類中。(5)static方法中不能處理非static的屬性。
作業(yè)與練習(xí)
書寫語句完成下面的功能:(1)為類Class1創(chuàng)建一個(gè)靜態(tài)整型變量s_data。(2)寫出一個(gè)空的靜態(tài)初始化器。(3)寫出抽象類IamAbstract的類頭定義語句。(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房地產(chǎn)抵押按揭借款合同
- 出軌協(xié)議書二零二五年
- 2025年CBZ-5-苯基-L-半胱氨酸項(xiàng)目合作計(jì)劃書
- 二零二五父母遺產(chǎn)房屋分配協(xié)議書
- 房地產(chǎn)代理合同補(bǔ)充協(xié)議
- 二零二五版停薪留職協(xié)議員工停薪留職
- 喬木修剪合同樣本
- 典當(dāng)公司擔(dān)保合同二零二五年
- 二零二五駕校承包經(jīng)營(yíng)權(quán)合同
- 寫字樓物業(yè)管理方案
- 外固定架課件
- 結(jié)業(yè)證書文檔模板可編輯
- 《雷鋒叔叔你在哪里》教學(xué)案例
- DB32-T 2798-2015高性能瀝青路面施工技術(shù)規(guī)范-(高清現(xiàn)行)
- DBS62∕002-2021 食品安全地方標(biāo)準(zhǔn) 黃芪
- 譯林版五年級(jí)英語下冊(cè) Unit 6 第4課時(shí) 教學(xué)課件PPT小學(xué)公開課
- API-620 大型焊接低壓儲(chǔ)罐設(shè)計(jì)與建造
- 部編統(tǒng)編版五年級(jí)下冊(cè)道德與法治全冊(cè)教案教學(xué)設(shè)計(jì)與每課知識(shí)點(diǎn)總結(jié)
- 浙江省杭州市介紹(課堂PPT)
- 路面及綠化帶拆除和修復(fù)方案
- 001壓力管道安裝安全質(zhì)量監(jiān)督檢驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論