版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章JAVA面向?qū)ο缶幊袒A(chǔ)主要內(nèi)容定義類創(chuàng)建類的實例對象構(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)建類的實例對象創(chuàng)建對象的一般格式:
類名新建對象名=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ù)的主要作用是完成對類對象的初始化工作。(4)構(gòu)造函數(shù)一般不能由編程人員顯式直接調(diào)用。(5)在創(chuàng)建一個類的新對象的同時,系統(tǒng)會自動調(diào)用該類的構(gòu)造函數(shù)為新對象初始化。構(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)定義一個類,其名稱為MyClass,它可以被所有的其他類訪問。(2)將對象Object1的屬性field1在屏幕上顯示出來。(3)調(diào)用對象Object1的方法method1,把返回值賦值給變量Hold。(4)定義一個整型屬性Mine,使得只有這個類本身可以訪問它。(5)為類Class定義一個整型變量fidld2,使得所有其他類都可以訪問它。(6)為類Class2編寫構(gòu)造函數(shù)的方法頭,該構(gòu)造函數(shù)不接受任何形式參數(shù)。(7)為類Class2編寫構(gòu)造函數(shù)的方法頭,該構(gòu)造函數(shù)接受兩個整型形式參數(shù)。靜態(tài)屬性classPhoneCard200 {
staticStringconnectNumber=″200″;
staticdoubleadditoryFee; longcardNumber;
intpassword;
booleanconnected; doublebalance; … }
靜態(tài)方法聲明一個方法為static至少有三重含義:調(diào)用這個方法時,應(yīng)該使用類名做前綴,而不是某一個具體的對象名;(2)非static的方法是屬于某個對象的方法,在這個對象創(chuàng)建時對象的方法在內(nèi)存中擁有自己專用的代碼段;而static的方法是屬于整個類的,它在內(nèi)存中的代碼段將隨著類的定義而分配和裝載,不被任何一個對象專有;(3)由于static方法是屬于整個類的,所以它不能操縱和處理屬于某個對象的成員變量,而只能處理屬于整個類的成員變量,也即,static方法只能處理static域。例如:在PhoneCard200中如果需要修改附加費,可以定義一個靜態(tài)方法setAdditory()。staticvoidsetAdditory(doublenewAdd) {
if(newAdd>0)
additoryFee=newAdd; }靜態(tài)初始化器靜態(tài)初始化器在三點上與構(gòu)造函數(shù)有根本的不同:構(gòu)造函數(shù)是對每個新創(chuàng)建的對象初始化,而靜態(tài)初始化器是對類自身進行初始化。(2)構(gòu)造函數(shù)是在用new運算符產(chǎn)生新對象時由系統(tǒng)自動執(zhí)行,而靜態(tài)初始化器則是在它所屬的類加載入內(nèi)存時由系統(tǒng)調(diào)用執(zhí)行。(3)不同于構(gòu)造函數(shù),靜態(tài)初始化器不是方法,沒有方法名、返回值和參數(shù)列表。抽象類鳥:鴿子、燕子、麻雀、天鵝…天鵝:天鵝是一種脖子長長,姿態(tài)優(yōu)美的候鳥。燕子:燕子是一種長著剪刀似的尾巴,喜在屋檐下筑巢的鳥。鳥:鳥是一種長著翅膀和羽毛的卵生動物。圖5-2電話卡及其子類的層次關(guān)系樹例如:定義一種集合了所有種類的電話卡的公共特點的抽象電話卡
abstractclassPhoneCard { doublebalance; voidperformDial() { … } }抽象方法例如:抽象類PhoneCard中的一個抽象方法:
abstractvoidperformDial();注意:所有的抽象方法,都必須存在于抽象類之中。一個非抽象類中出現(xiàn)抽象方法是非法的,也即,一個抽象類的子類如果不是抽象類,則它必須為父類中的所有抽象方法書寫方法體。不過抽象類不一定只能擁有抽象方法,它可以包含非抽象的方法。圖5-2電話卡及其子類的層次關(guān)系樹最終類最終屬性
例如:
staticfinalStringconnectNumber=″200″;用final修飾符說明常量時,需要注意以下幾點:(1)需要說明常量的數(shù)據(jù)類型。(2)需要同時指出常量的具體取值。(3)因為所有類對象的常量成員,其數(shù)值都固定一致,為了節(jié)省空間,常量通常聲明為static。最終方法注意:所有已被private修飾符限定為私有的方法,以及所有包含在final類中的方法,都被缺省地認為是final的。終結(jié)器Publicvoidfinalize(){
System.out.println(“AnObjectof”+toString()+”hasbeenfree&collected”)}
修飾符混用時需要注意的問題
(1)abstract不能與final并列修飾同一個類。(2)abstract不能與private,static,final或native并列修飾同一個方法。(3)abstract類中不能有private的成員(包括屬性和方法)。(4)abstract方法必須在abstract類中。(5)static方法中不能處理非static的屬性。
作業(yè)與練習(xí)
書寫語句完成下面的功能:(1)為類Class1創(chuàng)建一個靜態(tài)整型變量s_data。(2)寫出一個空的靜態(tài)初始化器。(3)寫出抽象類IamAbstract的類頭定義語句。(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)學(xué)整形美容服務(wù)協(xié)議
- 2025年員工福利和解合同
- 2025年在線教育運營合同
- 2025年公司融資投資人增資協(xié)議
- 2025年代理合作簽約協(xié)議
- 二零二五年度嬰幼兒奶粉產(chǎn)品追溯系統(tǒng)建設(shè)合作協(xié)議3篇
- 2025年項目建議書編制委托人工智能+大數(shù)據(jù)合同模板2篇
- 2025年度健康養(yǎng)生產(chǎn)品居間營銷合同模板4篇
- 跟著2025年新番走:《動漫欣賞》課件帶你領(lǐng)略動漫魅力2篇
- 2025年度智能牧場羊代放牧與物聯(lián)網(wǎng)服務(wù)合同
- 反騷擾政策程序
- 運動技能學(xué)習(xí)與控制課件第十一章運動技能的練習(xí)
- 射頻在疼痛治療中的應(yīng)用
- 四年級數(shù)學(xué)豎式計算100道文檔
- “新零售”模式下生鮮電商的營銷策略研究-以盒馬鮮生為例
- 項痹病辨證施護
- 職業(yè)安全健康工作總結(jié)(2篇)
- 懷化市數(shù)字經(jīng)濟產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會
- 彈簧分離問題經(jīng)典題目
評論
0/150
提交評論