付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
類與對(duì)象基礎(chǔ)回顧選擇結(jié)構(gòu)If/else語句嵌套的if語句swtich語句條件運(yùn)算符循環(huán)結(jié)構(gòu)for\while\do…while循環(huán)嵌套循環(huán)控制語句return、break和continue主要內(nèi)容類與對(duì)象相關(guān)概念及關(guān)系創(chuàng)建對(duì)象及分配內(nèi)存類的定義變量的定義方法的定義方法重載萬物皆對(duì)象世界是由什么組成的?
名勝人
物品
動(dòng)物,植物……
身邊的對(duì)象布蘭尼朱麗葉顧客姓名:朱麗葉年齡:28體重:52千克操作:購(gòu)買商品姓名:布蘭尼職銜:收銀員年齡:35體重:60千克操作:收款打印賬單對(duì)象的特征——屬性屬性——對(duì)象具有的各種特征每個(gè)對(duì)象的每個(gè)屬性都擁有特定值例如:布蘭尼和朱麗葉的體重不一樣60kg
布蘭尼屬性35歲收銀員布蘭尼對(duì)象的特征——方法方法——對(duì)象執(zhí)行的操作
打單
收銀方法刷卡收銀員布蘭尼對(duì)象的屬性和方法列出尼古拉斯·凱奇駕駛的這輛法拉利F360Spider的屬性和方法列出小狗對(duì)象的屬性和方法屬性:品牌:法拉利型號(hào):F360Spider
顏色:黃色價(jià)格:380萬元方法:發(fā)動(dòng)停止加速屬性:
顏色:白色方法:
叫跑吃從對(duì)象抽象出“類”抽取出下列對(duì)象的屬性和方法的共同特征
轎車
顧客類顧客類轎車類
…………
類是模子,確定對(duì)象將會(huì)擁有的特征(屬性)和行為(方法)類是對(duì)象的類型不同于int類型:具有方法
各種口味的球狀冰淇淋
球狀冰淇淋模子類類是用于組合各個(gè)對(duì)象所共有操作和屬性的一種機(jī)制形狀類動(dòng)物類汽車類類的示例“類是具有相同屬性和行為的一組對(duì)象的集合”類和對(duì)象關(guān)系類是具有共同屬性和行為的對(duì)象的抽象類可以定義為數(shù)據(jù)和方法的集合類也稱為模板,因?yàn)樗鼈兲峁┝藢?duì)象的基本框架類對(duì)象抽象實(shí)例化屬性或狀態(tài)操作或行為數(shù)據(jù)或變量方法封裝的實(shí)體=數(shù)據(jù)+方法創(chuàng)建對(duì)象要獲得一個(gè)類的對(duì)象需要兩步:你必須聲明該類類型的一個(gè)變量,這個(gè)變量沒有定義一個(gè)對(duì)象。實(shí)際上,它只是一個(gè)能夠引用對(duì)象的簡(jiǎn)單變量。該聲明要?jiǎng)?chuàng)建一個(gè)對(duì)象的實(shí)際的物理拷貝,并把對(duì)于該對(duì)象的引用賦給該變量。例:
Personp1;
p1=newPerson();
或Personp1=newPerson();
分配內(nèi)存p1=newPerson();//分配內(nèi)存;內(nèi)存結(jié)構(gòu)如下圖:
分配內(nèi)存通過關(guān)鍵字”new+類的構(gòu)造方法();”
語句實(shí)現(xiàn)Ox90EA0falsenull0.0p1ageisnameheight
類定義的語法規(guī)范類的嚴(yán)格定義及修飾符[類的修飾符]class類名稱
[extends父類名稱][implements接口名稱列表]{
變量定義及初始化;方法定義及方法體;}類的修飾符:[public][abstract|final]
缺省方式為friendly
類的定義類由兩部分組成:類的聲明部分“class類名”;類體“{…}”;例:classPerson{
//類體內(nèi)容
}注:關(guān)鍵字class小寫類名需符合java標(biāo)識(shí)符規(guī)定;良好的編程規(guī)范一般類名首字母大寫;類名要有意義(即見名識(shí)意)類體中包含屬性(變量)的定義及方法(函數(shù))的定義變量定義的語法規(guī)范變量的定義及修飾符
[變量修飾符]
變量數(shù)據(jù)類型變量名1,變量名2[=變量初值]…;
[public|protected|private][static][final][transient][volatile]成員變量的類型可以是Java中任意的數(shù)據(jù)類型,包括簡(jiǎn)單類型,類,接口,數(shù)組。
變量分類定義類體中變量分三類:實(shí)例成員變量;類(靜態(tài))成員變量;局部變量;
變量首字母一般小寫;實(shí)例成員變量簡(jiǎn)稱實(shí)例變量classPerson{
Stringname;
intage;
//…
}類(靜態(tài))成員變量簡(jiǎn)稱類變量或靜態(tài)變量classPerson{
staticStringclasser;
}局部變量ClassPerson{
publicvoidspeak(){
Stringname;
}
}19成員變量和局部變量類體中的變量分為兩部分。變量定義部分所定義的變量稱為類的成員變量,在方法體中定義的變量和方法的參數(shù)被稱為局部變量。成員變量和局部變量的共同之處成員變量和局部變量的類型都可以是Java中的任何一種數(shù)據(jù)類型,包括基本類型:整型、浮點(diǎn)型、字符型;引用類型:數(shù)組類型、對(duì)象。成員變量和局部變量的名字都必須符合標(biāo)識(shí)符規(guī)定,名字如果使用拉丁字母,首寫字母小寫;如果多個(gè)單詞組成,從第2個(gè)單詞開始的其他單詞的首寫字母使用大寫。成員變量和局部變量的區(qū)別:成員變量在整個(gè)類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效。變量的初始化成員變量如果沒有賦初值,則會(huì)自動(dòng)初始化。局部變量必須賦初值,否則會(huì)在引用的地方報(bào)錯(cuò)。數(shù)據(jù)類型初值booleanfalsebyte/short/int/long0float0.0fdouble0.0dchar‘\u0000’類類型null
方法定義的語法規(guī)范方法的定義及修飾字[public|protected|private][static][final|abstract][native][synchronized]返回類型可以是任意的Java數(shù)據(jù)類型,當(dāng)一個(gè)方法不需要返回值時(shí),返回類型為void。參數(shù)的類型可以是簡(jiǎn)單數(shù)據(jù)類型,也可以是引用數(shù)據(jù)類型(數(shù)組、類或接口),參數(shù)傳遞方式:簡(jiǎn)單數(shù)據(jù)類型是值傳遞,對(duì)象是引用傳遞。[方法修飾符]
返回類型方法名稱(參數(shù)1,參數(shù)2,…)[throwsexceptionList]{…(statements;)//方法體:方法的內(nèi)容}方法分類按返回值分:有返回值無返回值按參數(shù)分:無參數(shù)有參數(shù)(單個(gè)參數(shù),多個(gè)參數(shù))(了解形參與實(shí)參概念)按范圍或功能分:實(shí)例方法;類方法;構(gòu)造方法
有返回值/無返回值的方法classPerson{
intage=23;
staticStringclasser=“一年八班”;
//有返回值
intsum(){ return1+1; }//無返回值
voidspeak(){ System.out.println(“Hello!”); }}
無參數(shù)/有參數(shù)的方法classPerson{
intage=23;
staticStringclasser=“一年八班”;
//無參數(shù) voidspeak(){ System.out.println(“Hello!”); } voideat(){ System.out.println(“Hi!”); }
//有參數(shù) intabs(inta){ if(a<0)return-a; elsereturna; } intsum(inta,intb){ returna+b; }}
方法調(diào)用定義方法時(shí)在方法聲明部分的括號(hào)中定義的變量為形式參數(shù)(即形參);調(diào)用時(shí)方法時(shí)需根據(jù)被方法的形參傳入對(duì)應(yīng)的實(shí)際參數(shù)(即實(shí)參)。方法調(diào)用voidtest(){ inta=-3,c=3,d=4; inte=abs(a);intf=sum(c+d); System.out.println(e);System.out.println(f);}
實(shí)例方法類體中方法分:實(shí)例成員方法;類(靜態(tài))成員方法;構(gòu)造方法;方法首字母一般小寫。實(shí)例成員方法簡(jiǎn)稱實(shí)例方法classPerson{
voidspeak(){
System.out.println(“一起學(xué)java”);
}
}
類方法類(靜態(tài))成員方法簡(jiǎn)稱類方法或靜態(tài)方法classPerson{
staticvoideat(){
System.out.println(“吃飯了”);
}
}構(gòu)造方法;構(gòu)造方法名與類名相同,構(gòu)造方法無返回值也不需void關(guān)鍵字classPerson{
Person(){
//一般是初始化操作.
}
}28構(gòu)造方法每當(dāng)創(chuàng)建給定類的實(shí)例時(shí)就調(diào)用的方法與類同名,但沒有返回類型Java為對(duì)象分配內(nèi)存,初始化實(shí)例變量時(shí)調(diào)用構(gòu)造方法兩種構(gòu)造方法參數(shù)化構(gòu)造方法隱式構(gòu)造方法29隱式構(gòu)造方法的示例classSdate{ intmonth=11; intday=27; intyear=1969;
publicstaticvoidmain(Stringargs[
]){SdateS1;S1=newSdate();}
}隱式構(gòu)造方法30參數(shù)化構(gòu)造方法的示例classSdate{intmonth;intday;intyear;Sdate(intm,intd,inty){ month=m; day=d; year=y; System.out.println(“日期是"+m+"/"+d+"/"+y+"."); }publicstaticvoidmain(Stringargs[]){SdateS1,S2;S1=newSdate(11,27,1969);S2=newSdate(3,3,1973);}}參數(shù)化構(gòu)造方法日期是11/27/1969.日期是3/3/1973.31參數(shù)化構(gòu)造方法的示例classSdate{intmonth;intday;intyear;Sdate(intm,intd,inty){ month=m; day=d; year=y; System.out.println(“日期是"+m+"/"+d+"/"+y+"."); }publicstaticvoidmain(Stringargs[]){SdateS1,S2;S1=newSdate();S2=newSdate(3,3,1973);}}TheconstructorSdate()isundefined示例
classPerson{
staticStringclasser=“一年八班”;
Stringname; //構(gòu)造方法 publicPerson(){ name=“張三”; } //實(shí)例方法
voidspeak1(){
System.out.println(“名字:”+name);
System.out.println(“班級(jí):”+classer);
shout1();
}
//靜態(tài)方法/類方法 staticvoidshout1(){
System.out.println(“班級(jí):”+classer);
System.out.println(“名字:”+name);//error
speak1();//error
}
}注意:在類中只包括變量的定義和方法的定義實(shí)例方法可以訪問本類中的任何成員變量及任何成員方法;類方法只能訪問本類中的類成員變量及類成員方法;33方法重載方法重載類中有多個(gè)具有相同名稱的方法方法重載類中有多個(gè)具有相同名稱的方法方法具有不同的參數(shù)列表或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)類型不同注意:方法返回值的類型不能用來區(qū)分重載的方法。不能通過兩個(gè)方法的返回值的類型來區(qū)分它們。這是因?yàn)楫?dāng)你調(diào)用一個(gè)方法時(shí),返回值的類型是不顯示的。34classMethodOverloading{ voidreceive(inti){ System.out.println("Receiveoneintdata"); System.out.println("i="+i); } voidreceive(intx,inty){ System.out.println("Receivetwoint
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 燈具銷售財(cái)務(wù)制度
- 蛋糕烘焙財(cái)務(wù)制度
- 園林建設(shè)財(cái)務(wù)制度
- 進(jìn)口押匯財(cái)務(wù)制度
- 分級(jí)護(hù)理相關(guān)制度
- 軍人值班制度
- 養(yǎng)老院老人保健知識(shí)普及制度
- 屋檐粉刷施工方案(3篇)
- 水沖式公廁施工方案(3篇)
- 公寓辦公施工方案(3篇)
- 無張力尿道懸吊術(shù)護(hù)理
- 翰威特:2010年翰威特員工敬業(yè)度調(diào)研簡(jiǎn)介
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第6部分:調(diào)整試驗(yàn)
- 新生兒機(jī)械通氣指南
- 七年級(jí)數(shù)學(xué)上冊(cè)期末試卷及答案(多套題)
- 2023年P(guān)CB工程師年度總結(jié)及來年計(jì)劃
- 2024年度初會(huì)《初級(jí)會(huì)計(jì)實(shí)務(wù)》高頻真題匯編(含答案)
- 績(jī)效考核和薪酬方案通用模板
- YY/T 0590.1-2018醫(yī)用電氣設(shè)備數(shù)字X射線成像裝置特性第1-1部分:量子探測(cè)效率的測(cè)定普通攝影用探測(cè)器
- GB/T 16927.1-2011高電壓試驗(yàn)技術(shù)第1部分:一般定義及試驗(yàn)要求
- 政府會(huì)計(jì)準(zhǔn)則優(yōu)秀課件
評(píng)論
0/150
提交評(píng)論