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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

oo1JavaJava言。為什么要用面向?qū)ο蟮乃枷朐O(shè)計程序呢?什么是面向?qū)ο??面向?qū)ο笥心男┨卣??如何使用面向?qū)ο蟪绦蛟O(shè)計語言開發(fā)程序?這些問題是本章要給讀者介紹的內(nèi)容。始興起的軟件設(shè)計開發(fā)方法,現(xiàn)在主流的應(yīng)用軟件 IT行業(yè)不斷發(fā)面向過程與面向?qū)?(2類和對象的概 JavaJava開發(fā)人員要學(xué)會用面向?qū)ο蟮乃枷肟紤]問題和編Java基礎(chǔ)課的蔣老師是類具有的屬性包括、、、年級等,方法包括聽課、寫作業(yè)等,如圖6.2所示。圖6.1對象和類的關(guān) 圖6.2學(xué)生 JavaJavaAPI5章學(xué)習(xí)的Java類。Java類的定 publicpublicclass類名屬性1類型:1名屬性2類型:2名…方法1方法2定…}部、方法外部定義的變量稱為成員變量,這里類的屬性就是類的成員變量,這兩個概念是相publicpublicclass{intstuAge;int intpublicvoid{+"}publicString{"(int時間hour點,stuName+"}}Java類的創(chuàng)建和使 類類名new類名new關(guān)鍵字,后面要跟著類名。StudentStudentwangYun=newwangYun.stuName=" wangYun.stuName=" wangYun.stuAge=22; =wangYun.stuGrade= //1代表男,2代表//該方法返回一個String類型的字符 ,來測試Student類的創(chuàng)建和使用,具體代碼如下所示。publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newwangYun.stuName=" wangYun.stuAge=22; //1代表男,2代表wangYun.stuGrade );//}}6.3創(chuàng)建和使用Student類是測試類,測試類中包含main方法,提供程序運行的。在main方法內(nèi),創(chuàng)建StudentJavaJavaJava2個classJavaJavapublic修飾,Javapublic類的類名命名,具體代碼如下。publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newwangYun.stuName=" wangYun.stuAge=22; //1代表男,2代表wangYun.stuGrade );//}}}class{intstuAge;//不能使用publicintstu publicvoidlearn(){+"}publicString{"}(int時間hour點,stuName+"}publicpublicclass{publicstaticvoidmain(String[]{StudentwangYun=newStudent();為:為:數(shù)值為:"+wangYun.stuName=" wangYun.stuAge=22; =wangYun.stuGrade=4;//1代表男,2代表為:"+wangYun.stuName);為:數(shù)值為:"+}}6.4未賦值對象屬為數(shù)據(jù)類型,其初始默認值為null,如果該屬性是int型,其初始默認值為0。Java類的簡單運 一個Student類的對象wangYunwangYun對象的屬性賦值并調(diào)用6.5所示。6.1老師基本信息

6.5老師專課教計算機應(yīng)Java基5軟件工前端技6.2學(xué)生基本信息年男4女3南天男3女46.6所示。6.6Java類的簡單運publicclassTestStuTea{staticScannerinput=newScanner(System.in);publicstaticvoidmain(String[]args){TeacherteanewTeacher[2];//創(chuàng)建2的數(shù)組tea,用于存2個老師對Studentstunew //創(chuàng)建4的數(shù)組stu,用于存4個學(xué)生對for(inti=0;i<{"+()+"tea[i //createTeacher方法創(chuàng)建第i+1個老師對象并賦}for(intj=0;j<{"+()+"stu[j //createStudent方法創(chuàng)建第j+1個學(xué)生對象并賦}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){ 時間:"+hour+"點,"+stuName+"正在寫作業(yè)}}封 還是使用學(xué)生的案例,例如要求一旦對學(xué)生對象的賦值之后就不能修改,但在6.2.2節(jié)的TestStudent.java程序中,完全可以在賦值以后,通過“學(xué)生對象名.stu=2”語句,把采用封裝的形式用privat(私有的關(guān)鍵字去修飾stu變量其含義是為把stu變量封裝到類的內(nèi)部,只有在類的內(nèi)部才可以stu變量,從而保證了這個變量不能被其他類的對象修改。這樣的做法只起到了隱藏的作用,要想更好地使用這個變量,則應(yīng)該提供一個對外的publi(公有的方法其他對象可以通過這個方法這個私有的變量。getterStudent類,其代碼如下。publicpublicclass{privateStringstuName;privateintstuAge;privateint privateintpublicString//這里的this表示本對return}//返回這個類的私有屬性 publicvoidsetStuName(Stringname){this.stuName=name;}publicintgetStuAge(){}}}時間hour點,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()方 }} 時間:20 時間: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é)生類對象并初始化對StudentwangYun=newStudent("StringrstString=}}6.7使用構(gòu)造方法創(chuàng)建并初始化對構(gòu)造方法的使 法返回被初始化對象的,為什么不寫返回值類型呢?例如Student類構(gòu)造方法為什么不寫成publicStudentStudent(參數(shù)列表{…}呢?Java設(shè)計人員把這種方法名(類名)和返回類型的類名相同的方法看成一個普通方構(gòu)造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數(shù)傳給對象。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年級}}6.8使用類的多個構(gòu)造方時間: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年級StudentwangYun=newStudent(" System.out.println(wangYun.getStuName正在讀大學(xué)wangYun.getStuGrade年級}}6.9對象初始化過對象初始化內(nèi)存結(jié) 代碼Studenttemp=newStudent(" 6.10對象初始化內(nèi)存結(jié)構(gòu)

6.11對象初始化內(nèi)存結(jié)構(gòu)

6.12對象初始化內(nèi)存結(jié)構(gòu)6.13對象初始化內(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等.壓縮文件請下載最新的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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論