參考一java語(yǔ)言基礎(chǔ)與面向?qū)ο缶幊虒?shí)踐01-使用編寫程序案例_第1頁(yè)
參考一java語(yǔ)言基礎(chǔ)與面向?qū)ο缶幊虒?shí)踐01-使用編寫程序案例_第2頁(yè)
參考一java語(yǔ)言基礎(chǔ)與面向?qū)ο缶幊虒?shí)踐01-使用編寫程序案例_第3頁(yè)
參考一java語(yǔ)言基礎(chǔ)與面向?qū)ο缶幊虒?shí)踐01-使用編寫程序案例_第4頁(yè)
參考一java語(yǔ)言基礎(chǔ)與面向?qū)ο缶幊虒?shí)踐01-使用編寫程序案例_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論