版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
oo1JavaJava言。為什么要用面向?qū)ο蟮乃枷朐O(shè)計(jì)程序呢?什么是面向?qū)ο??面向?qū)ο笥心男┨卣鳎咳绾问褂妹嫦驅(qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言開發(fā)程序?這些問題是本章要給讀者介紹的內(nèi)容。始興起的軟件設(shè)計(jì)開發(fā)方法,現(xiàn)在主流的應(yīng)用軟件 IT行業(yè)不斷發(fā)面向過程與面向?qū)?(2類和對(duì)象的概 JavaJava開發(fā)人員要學(xué)會(huì)用面向?qū)ο蟮乃枷肟紤]問題和編Java基礎(chǔ)課的蔣老師是類具有的屬性包括、、、年級(jí)等,方法包括聽課、寫作業(yè)等,如圖6.2所示。圖6.1對(duì)象和類的關(guān) 圖6.2學(xué)生 JavaJavaAPI5章學(xué)習(xí)的Java類。Java類的定 publicpublicclass類名屬性1類型:1名屬性2類型:2名…方法1方法2定…}部、方法外部定義的變量稱為成員變量,這里類的屬性就是類的成員變量,這兩個(gè)概念是相publicpublicclass{intstuAge;int intpublicvoid{+"}publicString{"(int時(shí)間hour點(diǎn),stuName+"}}Java類的創(chuàng)建和使 類類名new類名new關(guān)鍵字,后面要跟著類名。StudentStudentwangYun=newwangYun.stuName=" wangYun.stuName=" wangYun.stuAge=22; =wangYun.stuGrade= //1代表男,2代表//該方法返回一個(gè)String類型的字符 ,來測(cè)試Student類的創(chuàng)建和使用,具體代碼如下所示。publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newwangYun.stuName=" wangYun.stuAge=22; //1代表男,2代表wangYun.stuGrade );//}}6.3創(chuàng)建和使用Student類是測(cè)試類,測(cè)試類中包含main方法,提供程序運(yùn)行的。在main方法內(nèi),創(chuàng)建StudentJavaJavaJava2個(gè)classJavaJavapublic修飾,Javapublic類的類名命名,具體代碼如下。publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newwangYun.stuName=" wangYun.stuAge=22; //1代表男,2代表wangYun.stuGrade );//}}}class{intstuAge;//不能使用publicintstu publicvoidlearn(){+"}publicString{"}(int時(shí)間hour點(diǎn),stuName+"}publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newStudent();為:為:數(shù)值為:"+wangYun.stuName=" wangYun.stuAge=22; =wangYun.stuGrade=4;//1代表男,2代表為:"+wangYun.stuName);為:數(shù)值為:"+}}6.4未賦值對(duì)象屬為數(shù)據(jù)類型,其初始默認(rèn)值為null,如果該屬性是int型,其初始默認(rèn)值為0。Java類的簡(jiǎn)單運(yùn) 一個(gè)Student類的對(duì)象wangYunwangYun對(duì)象的屬性賦值并調(diào)用6.5所示。6.1老師基本信息
6.5老師專課教計(jì)算機(jī)應(yīng)Java基5軟件工前端技6.2學(xué)生基本信息年男4女3南天男3女46.6所示。6.6Java類的簡(jiǎn)單運(yùn)publicclassTestStuTea{staticScannerinput=newScanner(System.in);publicstaticvoidmain(String[]args){TeacherteanewTeacher[2];//創(chuàng)建2的數(shù)組tea,用于存2個(gè)老師對(duì)Studentstunew //創(chuàng)建4的數(shù)組stu,用于存4個(gè)學(xué)生對(duì)for(inti=0;i<{"+()+"tea[i //createTeacher方法創(chuàng)建第i+1個(gè)老師對(duì)象并賦}for(intj=0;j<{"+()+"stu[j //createStudent方法創(chuàng)建第j+1個(gè)學(xué)生對(duì)象并賦}for(intj=0;j<stu.length;j++){}for(intj=0;j<stu.length;j++){StringtempStr }for(intj=0;j<{ }}publicstaticTeacher{Teachertea=newTeacher(); tea.teaName=input.next();tea.teaSpecialty=inputnext();tea.teaCourse=inputnext();tea.teaYears=inputnextInt();return}publicstaticStudent{Studentstu=newStudent(); stu.stuName=input.next(); stu.stuAge=inputnextInt(); 數(shù)值(1代表男、2代表女):"); =input.nextInt();stu.stuGrade=inputnextInt();return}}class //不能使用public修{String String String int publicvoidteach(){System.out.println(teaName正在辛苦講:teaCourse+"}publicvoidcheck (Studentstu){System.out.println("講授:teaCourse+"課程的老師:teaName+"已經(jīng)批改完畢stu.stuName+"的作業(yè)}}class //不能使用public修{String int int int publicvoidlearn(){+"}publicStringdo (inthour){ 時(shí)間:"+hour+"點(diǎn),"+stuName+"正在寫作業(yè)}}封 還是使用學(xué)生的案例,例如要求一旦對(duì)學(xué)生對(duì)象的賦值之后就不能修改,但在6.2.2節(jié)的TestStudent.java程序中,完全可以在賦值以后,通過“學(xué)生對(duì)象名.stu=2”語(yǔ)句,把采用封裝的形式用privat(私有的關(guān)鍵字去修飾stu變量其含義是為把stu變量封裝到類的內(nèi)部,只有在類的內(nèi)部才可以stu變量,從而保證了這個(gè)變量不能被其他類的對(duì)象修改。這樣的做法只起到了隱藏的作用,要想更好地使用這個(gè)變量,則應(yīng)該提供一個(gè)對(duì)外的publi(公有的方法其他對(duì)象可以通過這個(gè)方法這個(gè)私有的變量。getterStudent類,其代碼如下。publicpublicclass{privateStringstuName;privateintstuAge;privateint privateintpublicString//這里的this表示本對(duì)return}//返回這個(gè)類的私有屬性 publicvoidsetStuName(Stringname){this.stuName=name;}publicintgetStuAge(){}}}時(shí)間hour點(diǎn),stuName+"(intpublicString{"}return } publicvoidsetStu }publicintgetStuGrade(){ returnthis.stuGrade;}publicvoidsetStuGrade(intgrade){this.stuGrade=}publicvoidlearn(){+"}publicint publicvoidsetStuAge(intage){this.stuAge=age;}publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newStudent();wangYun.stuName=" wangYun.stuAge=22;//不能給私有屬性stuName賦//不能給私有屬性stuAge賦 = //不能給私有屬性 wangYun.stuGrade //不能給私有屬性stuGrade賦 //可以調(diào)用公有的學(xué)生聽課的learn()方法StringrstString=wangYun.do }}publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newStudent(); //調(diào)用公有方法給stuName賦//調(diào)用公有方法給stuAge賦 //調(diào)用公有方法給 //調(diào)用公有方法給stuGrade賦//調(diào)用公有的學(xué)生聽課的learn()方 }} 時(shí)間:20 時(shí)間:15 “1“2,構(gòu)造方法解決問 publicpublicclass{privateStringstuName;privateintstuAge;privateintstu privateintstuGrade;publicStudent(Stringname,intage,int ,intgrade){this.stuName=name;this.stuAge=age; this.stuGrade=grade;}//省略了Student類中的其他方}publicpublicclass{publicstaticvoidmain(String[]{//使用帶參的構(gòu)造方法,創(chuàng)建wangYun學(xué)生類對(duì)象并初始化對(duì)StudentwangYun=newStudent("StringrstString=}}6.7使用構(gòu)造方法創(chuàng)建并初始化對(duì)構(gòu)造方法的使 法返回被初始化對(duì)象的,為什么不寫返回值類型呢?例如Student類構(gòu)造方法為什么不寫成publicStudentStudent(參數(shù)列表{…}呢?Java設(shè)計(jì)人員把這種方法名(類名)和返回類型的類名相同的方法看成一個(gè)普通方構(gòu)造方法的主要作用是完成對(duì)象的初始化工作,它能夠把定義對(duì)象時(shí)的參數(shù)傳給對(duì)象。publicpublicclass{privateStringstuName;privateintstuAge;privateintstu privateintstuGrade;publicStudent(Stringname,intage,int ,intgrade){this.stuName=name;this.stuAge=age; this.stuGrade=grade;}publicStudent(Stringname,intage,int this.stuName=name;this.stuAge=age; this.stuGrade=4;} publicStudent(Stringname,int this.stuName=name;this.stuAge=22; this.stuGrade=4;}//省略了Student}publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newStudent(" StudentliuJT=newStudent(" StudentnanTHnewStudent("南天華StringrstString=wangYun.doSystem.out.println(liuJT.getStuName正在讀大學(xué)liuJT.getStuGrade年級(jí)}}6.8使用類的多個(gè)構(gòu)造方時(shí)間:20初始化 {{}publicpublicclass{privateStringstuName="";privateintstuAge=-1;privateintstu =-1;privateintstuGrade=-1;{this.stuName=" this.stuAge= =this.stuGrade=}publicStudent(){} ,intthis.stuName=name;this.stuAge=age; this.stuGrade=grade;}//省略了Student}publicpublicclass{publicstaticvoidmain(String[]{Studenttemp=newSystem.out.println(temp.getStuName正在讀大學(xué)temp.getStuGrade年級(jí)StudentwangYun=newStudent(" System.out.println(wangYun.getStuName正在讀大學(xué)wangYun.getStuGrade年級(jí)}}6.9對(duì)象初始化過對(duì)象初始化內(nèi)存結(jié) 代碼Studenttemp=newStudent(" 6.10對(duì)象初始化內(nèi)存結(jié)構(gòu)
6.11對(duì)象初始化內(nèi)存結(jié)構(gòu)
6.12對(duì)象初始化內(nèi)存結(jié)構(gòu)6.13對(duì)象初始化內(nèi)存結(jié)構(gòu) 重載的定 在這種情況下,該方法就被稱為重載(overload3種情形。重載方法的使 publicpublicclass{privateStringstuName;privateintstuAge;privateintstu privateintstuGrade;publicStudent(Stringname,intage,int this.stuName=name;this.stuAge=age; this.stuGrade=grade;}publi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025縫紉機(jī)機(jī)器租賃合同
- 蘭州市政府2025年度合同管理創(chuàng)新試點(diǎn)合同3篇
- 2025年度酒店客房?jī)?nèi)墻乳膠漆翻新服務(wù)合同3篇
- 2025年度知識(shí)產(chǎn)權(quán)交易及投資合作協(xié)議3篇
- 二零二五年度競(jìng)業(yè)禁止機(jī)械租賃與節(jié)能技術(shù)合同3篇
- 二零二五年度跨國(guó)公司股東合伙人戰(zhàn)略合作協(xié)議3篇
- 二零二五年度航空航天出資入股協(xié)議
- 2025年度生態(tài)園林景觀設(shè)計(jì)-特色樹苗訂購(gòu)與施工合同
- 二零二五年度生物醫(yī)藥研發(fā)項(xiàng)目轉(zhuǎn)讓合同3篇
- 二零二五年度房產(chǎn)轉(zhuǎn)讓合同中的稅務(wù)籌劃及優(yōu)惠條款協(xié)議3篇
- 隱患排查治理管理規(guī)定
- 2025材料供貨合同樣本
- 豪華酒店翻新工程協(xié)議
- 經(jīng)濟(jì)學(xué)原理模擬題含參考答案
- 科技強(qiáng)國(guó)建設(shè)視域下拔尖創(chuàng)新人才價(jià)值觀引導(dǎo)研究
- 馬鞍山酒柜定制合同范例
- 《電梯曳引系統(tǒng)設(shè)計(jì)技術(shù)要求》
- 【MOOC】中國(guó)天氣-南京信息工程大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2025年攻讀博士學(xué)位期間擬開展的研究計(jì)劃
- 2025版國(guó)家開放大學(xué)法學(xué)本科《國(guó)際私法》歷年期末紙質(zhì)考試總題庫(kù)
- 職業(yè)道德試題及答案
評(píng)論
0/150
提交評(píng)論