




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
javaSE回顧
循環(huán)語句while、do-while、for的區(qū)別是什么?inti=0,j=0;while(i<7){if(j>4){System.out.println("**");i++;continue;}System.out.println("*");j++;i++;}*********寫出運行結果輸出預習檢查類與對象的關系是什么?定義一個類的語法是什么?如何創(chuàng)建一個類的對象?掌握類和對象的特征理解封裝會創(chuàng)建和使用對象本章目標萬物皆對象世界是由什么組成的?
名勝人
物品
動物,植物……
身邊的對象布蘭尼朱麗葉顧客姓名:朱麗葉年齡:28體重:52千克操作:購買商品姓名:布蘭尼職銜:收銀員年齡:35體重:60千克操作:收款打印賬單對象的特征——屬性屬性——對象具有的各種特征每個對象的每個屬性都擁有特定值例如:布蘭尼和朱麗葉的體重不一樣60kg
布蘭尼屬性35歲收銀員布蘭尼對象的特征——方法方法——對象執(zhí)行的操作
打單
收銀方法刷卡收銀員布蘭尼對象的屬性和方法列出尼古拉斯·凱奇駕駛的這輛法拉利F360Spider的屬性和方法列出小狗對象的屬性和方法屬性:品牌:法拉利型號:F360Spider
顏色:黃色價格:380萬元方法:發(fā)動停止加速屬性:
顏色:白色方法:
叫跑吃小結1說一說教室里的對象描述他們的屬性和方法顏色:黑色品牌:BENQ投影姓名:張三年齡:20學習類型:白熾燈開關變亮變暗材制:木質支撐物品封裝對象同時具有屬性和方法兩項特性對象的屬性和方法通常被封裝在一起,共同體現(xiàn)事物的特性,二者相輔相承,不能分割誰看見過只有“完好的零件和顏色”而不能開動的汽車?從對象抽象出“類”抽取出下列對象的屬性和方法的共同特征
轎車
顧客類顧客類轎車類
…………
類是模子,確定對象將會擁有的特征(屬性)和行為(方法)類是對象的類型不同于int類型:具有方法
各種口味的球狀冰淇淋
球狀冰淇淋模子類的聲明形式類的聲明形式(【】中是可選項,即可有可無)【訪問權限修飾符】【修飾符】class類名{
類體}訪問修飾符有兩種public,default修飾符:final,synchronized,abstract作用根據學生類可以創(chuàng)建多個學生對象,如:張三,李四。publicclassStudent{
privateStringname;
publicvoidstudy(){
}}類的作用:類就是一個模板,定義多個對象共同的屬性和方法
小結2類和對象有什么區(qū)別呢?類是抽象的概念,僅僅是模板,比如說:“人”對象是一個你能夠看得到、摸得著的具體實體,比如:“小布什”小布什普京克林頓……“人”類特征(屬性)年齡體重行為(方法)衣食住行Java是面向對象的語言
所有Java程序都以類class為組織單元關鍵字class定義自定義的數(shù)據類型
public
classHelloAccp{
publicstaticvoidmain(String[]args){
System.out.println("使用Java語言理解程序邏輯");…}}Java類模板類將現(xiàn)實世界中的概念模擬到計算機程序中publicclass
類名{
//定義屬性部分屬性1的類型屬性1;
屬性2的類型屬性2;…
屬性n的類型屬性n;
//定義方法部分方法1;
方法2;…
方法m;}定義類定義一個類的步驟1、定義類名2、編寫類的屬性3、編寫類的方法類示例2-1定義一個學生類,用類的思想輸出學生信息Student類屬性:學生姓名學生性別學生年齡方法:展示學生信息演示示例1:使用Eclipse創(chuàng)建Student類框架常見錯誤publicclass.Book{StringbookName;StringauthorName;intpageNum;booleanisAvailable;}類命名規(guī)則:1、不能使用Java關鍵字2、首字母可以為字母,也可以是“_”或“$”(建議不要這樣)3、不能包含空格或“.”號代碼錯誤如何創(chuàng)建和使用對象使用對象的步驟:使用new創(chuàng)建類的一個對象使用對象:使用“.”進行以下操作給類的屬性賦值:對象名.屬性調用類的方法:對象名.方法名()Studentstudent=new
Student();="李四";//給屬性賦值student.toString();//調用類的方法,該方法中的操作將被執(zhí)行publicclassTest{
publicstaticvoidmain(String[]args){
Studentstudent=newStudent();System.out.println(student);
="張三";
student.sex=‘男’;
student.age=10;System.out.println(student);}}創(chuàng)建和使用對象示例創(chuàng)建“學生”對象演示示例2:創(chuàng)建和使用對象說一說看到什么效果?調用類的toString()方法是特例:這里使用center.toString()和center作用相同———更簡便小結3編寫一個音樂類,并編寫測試類顯示音樂信息編寫一個手機類,并編寫測試類顯示手機信息
音樂類參考代碼
手機類參考代碼
測試類參考代碼
測試類參考代碼面向對象的優(yōu)點便于程序模擬現(xiàn)實世界中的實體用“類”表示實體的特征和行為隱藏細節(jié)對象的行為和屬性被封裝在類中,外界通過調用類的方法來獲得,不需關注內部細節(jié)如何實現(xiàn)可重用可以通過類的模板,創(chuàng)建多個類的對象數(shù)據類型總結intdoublechar
String使用class定義的類型StudentTeacherAccpSchool……基本數(shù)據類型引用數(shù)據類型數(shù)據類型使用區(qū)別數(shù)據類型特征聲明使用基本數(shù)據類型沒有方法inti=8;i++;引用數(shù)據類型具有方法Studentstu=
newStudent();stu.age++;什么是類?什么是對象?類和對象的區(qū)別是什么?如何定義一個類、類的屬性和方法?如何創(chuàng)建類的對象?toString()方法的優(yōu)點是什么?數(shù)據類型有哪兩種?區(qū)別是什么?總結回顧
類和對象的區(qū)別是什么?數(shù)據類型有哪兩類?如何使用?publicclass&Student{Stringname;charsex;intage;publicStringtostring(){returnname+"\t"+sex+"\t"+age;}publicstaticvoidmain(String[]args){
Studentstu=newStudent();name="神仙姐姐";sex='F';age=18;System.out.println(stu);}}StudenttoSstu.sexstu.age實現(xiàn)輸出學生信息,下面代碼有哪些錯誤?預習檢查類的方法由哪幾部分組成?使用什么關鍵字定義包和導入包?JavaDoc怎樣寫注釋?本章任務以OO方式:計算并顯示總成績計算并顯示平均成績
理解變量作用域會定義和使用類的方法理解變量作用域會創(chuàng)建包組織Java工程會添加類方法的JavaDoc注釋會閱讀JavaSE6文檔本章目標類的方法寫出獅子對象的“跑”方法寫出獅子對象的“叫”方法
電動玩具獅子屬性:顏色:黃色行為:跑叫按此按鈕,獅子開始跑類的方法示例publicclassAutoLion{Stringcolor="黃色";
public
void
run(){System.out.println("正在以0.1米/秒的速度向前奔跑");}
publicStringbark(){Stringsound="吼";
returnsound;}}AutoLion類代碼實現(xiàn)方法名稱方法體返回類型如何定義類的方法類的方法定義類的某種行為(或功能)
方法的定義
方法的名稱
方法的主體
方法返回的數(shù)據類型定義類的方法public返回值類型方法名(){//這里編寫方法的主體}步驟一:定義方法名以及返回值步驟二:編寫方法體方法的命名如何給方法起名字?必須以字母、‘_’或‘$’開頭可以包括數(shù)字,但不能以它開頭遵循的命名規(guī)范通常方法名是一個動詞,如果有兩個以上單詞組成,第一個單詞的首字母小寫,其后單詞首字母大寫方法的返回值兩種情況如果方法具有返回值,方法中必須使用關鍵字return返回該值,返回類型為該返回值的類型如果方法沒有返回值,返回類型為voidpublicclassStudent{Stringname="張三";publicvoidgetName(){
returnname;}……}返回類型要匹配return
表達式;編譯錯誤常見錯誤2-1publicclassAccpSchool{……publicstaticvoidmain(String[]args){……
return"ACCP北京中心!";}}返回類型是void方法中不能有返回值常見錯誤2-2publicclassStudent{
publicdoublegetInfo(){
doubleweight=95.5;
doubleheight=1.69;
returnweight,height;}}方法至多可以返回一個值,不能返回多個值方法調用方法是個“黑匣子”,完成某個特定的應用程序功能,并返回結果方法調用:執(zhí)行方法中包含的語句
對象名.方法名();小明過生日,爸爸送他一個電動獅子玩具,編程測試這個獅子能否正常工作
演示示例1:演示運行效果方法調用publicclassAutoLion{Stringcolor="黃色";publicvoidrun(){//方法1:跑
System.out.println("正在以0.1米/秒的速度向前奔跑。");}
publicStringbark(){//方法2:叫
Stringsound="吼";
returnsound;}
public
StringgetColor(){//方法3:獲得顏色屬性
return
color;}
publicStringshowLion(){//方法4:描述獅子特性
return"這是一個"+getColor()+"的玩具獅子!";}}publicclassTestLion{
publicstaticvoidmain(String[]args){AutoLionlion=newAutoLion();System.out.println(lion.showLion());lion.run();System.out.println(lion.bark());}}在類的方法中調用該類另一個方法在main()方法中調用類的方法
演示示例2:設置斷點演示方法調用執(zhí)行過程方法調用小結方法之間允許相互調用,不需要知道方法的具體實現(xiàn),提高了效率
情況舉例1、類Student的方法a()調用Student類的方法b(),直接調用publicvoida(){b();//調用b()}2、類Student的方法a()調用類Teacher的方法b(),先創(chuàng)建類對象,然后使用“.”調用publicvoida(){Teachert=newTeacher();t.b();//調用Teacher類的b()}方法的特點方法的特點:定義方法可以將功能代碼進行封裝。便于該功能進行復用。方法只有被調用才會被執(zhí)行。方法的出現(xiàn)提高代碼的復用性。方法若沒有返回值,則用關鍵字void表示,那么該方法中的return語句如果在最后一行可以省略不寫。方法中可以調用方法,不可以在方法內部定義方法。定義方法時,方法的結果應返回給調用者,交由調用者來處理變量作用域3-1publicclassAutoLion{Stringcolor="黃色";publicvoidrun(){//方法1:跑
System.out.println("正在以0.1米/秒的速度向前奔跑。");}
publicStringbark(){//方法2:叫
Stringsound="吼";returnsound;}
publicStringgetColor(){//方法3:獲得顏色屬性
returncolor;}
publicStringshowLion(){//方法4:輸出類的描述信息
return"這是一個"+getColor()+"的玩具獅子!叫聲是"+sound;}}可以調用嗎?
演示示例3:變量作用域變量作用域3-2變量聲明的位置決定變量作用域變量作用域確定可在程序中按變量名訪問該變量的區(qū)域…for(inti=0,a=0;i<4;i++){a++;}System.out.println(a);…a的作用域僅在for循環(huán)中代碼錯誤變量作用域3-3變量1類型變量1;變量2類型變量2;變量3類型變量3;public返回類型方法1(){
變量4類型變量4;}public返回類型方法2(){
變量5類型變量5;}publicclassAutoLion{}AutoLion類的方法別的類的方法
誰能使用這些變量?方法1方法2
成員變量
局部變量
局部變量方法調用案例編寫成績計算類(ScoreCalc)編寫測試類成績計算類屬性:3門成績(Java、C#、DB)方法:計算平均成績顯示平均成績計算總成績顯示總成績成績計算類測試類
演示示例4:方法調用小結1編寫手機類(Phone):它可以下載音樂,可以播放這些音樂,可以進行充電編寫電池類(Cell):自動續(xù)電編寫測試類(Test)手機類行為:播放下載的音樂下載充電電池類屬性:品牌行為:續(xù)電手機類電池類測試類
演示示例5:演示效果面向對象的編程思維ScoreCalc類和
Test類publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("請輸入Java成績:");intjava=input.nextInt();……/*計算并顯示輸出*/inttotal=java+c+db;doubleavg=total/3;System.out.print("總成績:"+total);System.out.print("\n平均分:"+avg);}一次還可以接受,如果還要再執(zhí)行這個功能,難道還要重復再寫?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg()main(){//程序入口
//計算并輸出總成績
//計算并輸出平均分
}Test調用調用類的方法實現(xiàn)某個特定的功能,別的類不需要知道它如何實現(xiàn)!知道了實現(xiàn)此功能的類和它的方法名,就可以直接調用了,不用重復寫代碼!面向對象(OO)思想為什么需要包生活案例
文檔分門別類,易于查找不同內容的文檔可以放在不同的袋子中,擁有相同的名字,避免沖突
易于管理為什么需要包樹形文件系統(tǒng)使用目錄解決文件同名沖突問題如何存放兩個同名的類而不沖突?Sort.java
插入排序Sort.java
冒泡排序包包——解決類的同名問題允許類組成較小的單元(類似文件夾),易于找到和使用相應的文件
防止命名沖突更好的保護類、數(shù)據和方法A.java包如何創(chuàng)建包packages1java.sg.chap7;publicclassAccpSchool{……publicStringtoString(){……}}
包名使用package聲明包,以分號結尾如果有包的聲明,一定作為Java源代碼的第一條語句包命名規(guī)范包名由小寫字母組成,不能以圓點開頭或結尾自己設定的包名之前最好加上唯一的前綴,通常使用組織倒置的網絡域名。如:域名
自己設定的包名部分依不同機構各自內部的規(guī)范不同而不同packagemypackage;package
net.javagroup.mypackage;package
net.javagroup.research.powerproject;
部門名
項目名package.mypackage;×用Eclipse創(chuàng)建包使用Eclipse創(chuàng)建包的兩種方法:分別創(chuàng)建包和類:創(chuàng)建項目→創(chuàng)建包→創(chuàng)建類創(chuàng)建類的過程中創(chuàng)建類所在的包創(chuàng)建項目→創(chuàng)建類(在此過程中聲明所屬包,如無聲明,則顯示“缺省包”)
演示示例6:使用Eclipse創(chuàng)建包和類包與目錄的關系創(chuàng)建好的包和Java源文件是如何存儲的?創(chuàng)建包s1java.sg.chap7,即創(chuàng)建了目錄結構:..\s1java\sg\chap7S1JAVACHP7s1javasgchap7AccpSchool.javaHelloAccp.java
演示示例7:在包資源管理器和導航器中觀察包中的目錄結構如何導入包為了使用不在同一包中的類,需要在Java程序中使用import關鍵字導入這個類importjava.util.*;//導入java.util包中所有類importjava.lang.*;//導入java.lang包中所有類
關鍵字import并不陌生import
包名.類名;1、系統(tǒng)包(eg:java.lang)2、自定義包:net.javagroup*:指包中的所有類HelloAccp:指包中的HelloAccp類小結2AccpSchool.java位于s1java\sg\chp7中,HelloAccp.java位于s1java\demo\mypackage中,下面程序空缺部分需要填入代碼嗎?如果需要,是什么?//添加代碼2//添加代碼3publicclassHelloAccp{publicstaticvoidmain(String[]args){AccpSchoolcenter=newAccpSchool();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學課題申報書 網盤
- 社科基金課題申報書模板
- 計算機科普課題申報書
- 氫能產業(yè)發(fā)展課題申報書
- 歷史課題申報書怎么寫好
- 學困生課題申報書范例
- 申報書課題導師意見
- 幼兒園野趣課題申報書
- 南京科研課題申報書
- 代銷代賣合同范本
- 2025年湖南環(huán)境生物職業(yè)技術學院單招職業(yè)技能測試題庫及答案一套
- 14 文言文二則 學弈 教學設計-2024-2025學年語文六年級下冊統(tǒng)編版
- Unit 4 Eat Well(大單元教學設計)2024-2025學年七年級英語下冊同步備課系列(人教版2024)
- 2024-2030年中國游戲直播行業(yè)市場深度分析及投資策略研究報告
- 第一課+追求向上向善的道德【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂(高教版2023·基礎模塊)
- 浙江省杭州市2024年中考英語真題(含答案)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗人員理論考試題庫及答案
- 教師的五重境界公開課教案教學設計課件案例試卷
- 信用社(銀行)清產核資實施方案
- 勾股定理求最短路徑問題
- 大洋洲斐濟群島的成礦地質背景_礦床類型及成礦期劃分_徐鳴
評論
0/150
提交評論