




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄問題引入1 汽車的發(fā)明過程經(jīng)歷了四輪馬車,有動(dòng)力的汽車。從思維過程來講,經(jīng)歷了具體到抽象。2 金首飾的制造也是從具體到抽象,3 程序設(shè)計(jì)的思路也是從面向過程到面向?qū)ο笏枷胧牵? 任何事物都是對象。2 任何對象包括屬性和行為3 相同(相似)屬性和行為就是“一類”4 例如,人與楊祥茂 ;汽車與我的汽車5 類是對象的抽象,對象是類的具體(實(shí)例化)。西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄基本概念1對象,具體事物就是對象2類 ,具有相同屬性和行為的對象的集合3類之間的關(guān)系。3.1 封裝:把對象和行為看成是不可分開的整體;把信息對外隱藏起來,讓該知道對象知道。3.2
2、繼承: 反映事物的一般的類,在此基礎(chǔ)上派生出新類。如汽車派生出轎車。學(xué)校人員派生出學(xué)生和教師類3.3 多態(tài)性:允許程序中出現(xiàn)重名現(xiàn)象。分為: 方法重載:多個(gè)方法名相同,但是參數(shù)的個(gè)數(shù)或類型不同 對象多態(tài):子類與父類進(jìn)行相互轉(zhuǎn)換并且根據(jù)子類的不同完成不同的功能。3.4 消息西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄描述方法o1 圖的描述方法,還需要進(jìn)一步分析和研究o2 java的描述形式西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄類的描述(java)格式:Class 類名 數(shù)據(jù)類型 屬性; /屬性描述.Public 返回值的類型 方法名(參數(shù)表) /行為描述return 表達(dá)式;把屬性名稱為成員變量西南財(cái)
3、經(jīng)大學(xué) 前一頁 課間休息 回目錄類的描述示例 class person String name; int age; public void tell() System.out.println(“姓名:”+name+” 年齡:”+age); 注:public 是指任意地方都可以訪問。西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄類的不同形式描述o程序描述與類圖描述o注意:不同點(diǎn),以及可以改進(jìn)的地方類實(shí)現(xiàn)了人們思維的抽象描述,但是客觀世界是一個(gè)個(gè)具體的實(shí)例或者說對象,那么如何從抽象到類,就是說從類到對象。西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄對象的創(chuàng)建及其使用創(chuàng)建格式:類名 對象名 = null;對象名
4、= new 類名(); /方法與變量的描述方法一致的或者類名 對象名 = new 類名();例如class person String name; int age; public void tell() System.out.println(“姓名:”+name+”年齡:”+age); public class classdemo1 punlic static void main(String args) person yxm = new person();/創(chuàng)建對象yxm并申請空間 西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄對象的使用方法屬性的使用方法 對象名稱.屬性名方法的使用方法 對象名稱.
5、方法名()oimport java.io.*;oclass PersonoString name;oint age;opublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo3opublic static void main(String args)oPerson yxm = new Person(); = 楊祥茂;oyxm.age = 45;oyxm.tell();oo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄創(chuàng)建多個(gè)對象oimport java.io.*;oclass
6、 PersonoString name;oint age;opublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo4opublic static void main(String args)oPerson yxm = new Person();oPerson per2 = new Person(); = 楊祥茂;oyxm.age = 45; = 張三;oper2.age = 20;ooyxm.tell();oper2.tell();oo西南財(cái)經(jīng)
7、大學(xué) 前一頁 課間休息 回目錄對象引用傳遞o/對象引用傳遞oimport java.io.*;oclass PersonoString name;oint age;opublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo5opublic static void main(String args)oPerson yxm;oyxm = new Person();oPerson per2 = yxm; = 楊祥茂;oyxm.age = 45; = 張
8、三;oper2.age = 20;ooyxm.tell();oper2.tell();oo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄封裝性封裝性就是外部不可見。那么為什么要有封裝性?請看下面程序西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄o/對象封裝性的引入oimport java.io.*;oclass PersonoString name;oint age;opublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo6opublic static void main(String args)o
9、Person yxm;oyxm = new Person(); = 楊祥茂;oyxm.age = -45;oooyxm.tell();ooo出現(xiàn)了:年齡為負(fù)值,與實(shí)際有差距。西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄原因在于對象對屬性的直接訪問,改為屬性封裝封裝的辦法:Private 屬性類型 變量;Private 方法的返回值 方法名(參數(shù)表)例如西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄編譯報(bào)錯(cuò),屬性是私有的,不能由對象來直接訪問。o/對象封裝性的實(shí)現(xiàn)oimport java.io.*;oclass Personoprivate String name;oprivate int
10、 age;opublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo7opublic static void main(String args)oPerson yxm;oyxm = new Person(); = 楊祥茂;oyxm.age = -45;oooyxm.tell();ooo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄被封裝的屬性,必須通過setter和getter來實(shí)現(xiàn)到屬性的訪問o/對象封裝性的實(shí)現(xiàn)oimport java.io.*;oclass Perso
11、noprivate String name;oprivate int age;opublic void setName(String n)oname = n;oopublic void setAge(int a)oage = a;oopublic String getName()oreturn name;oopublic int setAge()oreturn age;ooopublic void tell()oSystem.out.println( 姓名:+name+ 年齡:+age);ooopublic class classdemo8opublic static void main(St
12、ring args)oPerson yxm;oyxm = new Person();ooyxm.setName(楊祥茂);oyxm.setAge(-45);oooyxm.tell();ooo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄總結(jié)o只要被private (封裝)的屬性和方法必須通過setter和getter方法來設(shè)置和取得數(shù)據(jù)。西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄問題:可以執(zhí)行,但是還是出現(xiàn)原來的結(jié)果只需在setAge()方法中加一條語句,驗(yàn)證代碼opublic void setAge(int a)oif(a=0 & a=0 & a=0 & a+this);oret
13、urn null;/目的是不讓出錯(cuò)ooopublic class classdemo17opublic static void main(String args)oPerson per1 = new Person();oPerson per2 = new Person();oSystem.out.println(main方法調(diào)用-+per1);/直接打印對象oper1.getInfor(); /使用thisooo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄oclass Personopublic String getInfor()oSystem.out.println(Person類-+this);
14、oreturn null;/目的是不讓出錯(cuò)ooopublic class classdemo17opublic static void main(String args)oPerson per1 = new Person();oPerson per2 = new Person();oSystem.out.println(main方法調(diào)用-+per1);/直接打印對象oper1.getInfor(); /使用thisooo結(jié)果是一致的西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄兩個(gè)串比較String str1 = new String(“aaaa”);String
15、 str2 new String(“bbbb”);Str1.equal(str2);其中的當(dāng)前對象是if(str1 = str2)是指?西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄Static的引入在前面的介紹中我們知道,如果一個(gè)類被實(shí)例化對象時(shí)要開辟內(nèi)存空間,在內(nèi)存中保存對象中的屬性,每個(gè)對象有自己的屬性。如果希望有些屬性被其他對象共享(理解共享概念),則必須聲明為static(也稱謂靜態(tài)屬性或靜態(tài)成員變量),并且一個(gè)屬性使用了static 聲明以后可以使用類名進(jìn)行調(diào)用。 如果方法希望是類方法,也需要前面加static西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄使用static 聲明屬性oclass P
16、ersonoString name;oint age;oString city = aaaa;opublic Person(String name,int age) = name;othis.age = age;oopublic void inFor()oSystem.out.println(姓名:++ 年齡: +this.age+ 城市 +this.city);ooopublic class classdemo18opublic static void main(String args)oPerson per1 = new Person(張三,30);o
17、Person per2 = new Person(里斯,35);oPerson per3 = new Person(王五,34);oSystem.out.println(修改前_);oper1.inFor();oper2.inFor();oper3.inFor();oSystem.out.println(修改后_);oper1.city = bbbb;oper1.inFor();oper2.inFor();oper3.inFor();oo把 city改為類屬性,如何?西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄使用static 聲明屬性oclass PersonoString name;oint a
18、ge;ostatic String city = aaaa;opublic Person(String name,int age) = name;othis.age = age;oopublic void inFor()oSystem.out.println(姓名:++ 年齡: +this.age+ 城市 +this.city);ooopublic class classdemo18opublic static void main(String args)oPerson per1 = new Person(張三,30);oPerson per2 = new
19、 Person(里斯,35);oPerson per3 = new Person(王五,34);oSystem.out.println(修改前_);oper1.inFor();oper2.inFor();oper3.inFor();oSystem.out.println(修改后_);oper1.city = bbbb;oper1.inFor();oper2.inFor();oper3.inFor();oo西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄對于類屬性的調(diào)用方式o為了區(qū)分類屬性的使用,類屬性的調(diào)用方式,最好采用o 類名.屬性名例如,上例中:對 city的使用最好使用Person.city的形式
20、把 per1.city = “BBB”;改為Person.city = “BBB”;This.city 改為Person.city西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄使用static 聲明方法o把對象不依賴具體實(shí)例的方法,寫成靜態(tài)方法,例如math類中的random,pow,sin 等,main方法。能從類中直接調(diào)用。o例如,圓有自己的半徑,所以圓和半徑都不能是靜態(tài)方法和靜態(tài)變量。應(yīng)該是實(shí)例變量和方法。o好處:1 為了區(qū)分不同的方法,對于靜態(tài)方法的調(diào)用常采用“類名.方法名”的使用方式2不能在類方法中使用 this 關(guān)鍵字3類方法可以調(diào)用其他的類方法和類成員變量。不能調(diào)用非static 類型聲
21、明的屬性和方法例如西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄oclass Person o private String name;o private int age;o private static String city = 成都;/靜態(tài)變量o public static void setCity(String c)/靜態(tài)方法o city = c;o o public Person(String name ,int age)o = name;o this.age = age;o o public void Infor()o System.out.println(姓名:+th
22、+ 年齡:+this.age+ 城市:+Person.city);o o public static String getcity()o return city;o o opublic class classdemo19opublic static void main(String args)oPerson p1 = new Person(杭三,30);oPerson p2 = new Person(里斯,20);oPerson p3 = new Person(王五,27);oSystem.out.println( 修改前-);op1.Infor();op2.Infor();o
23、p3.Infor();o System.out.println(修改后_);o Person.setCity(上海);o p1.Infor();o p2.Infor();o p3.Infor(); oooo 西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄 static的典型應(yīng)用oclass demooprivate static int count = 0;opublic demo()ocount+;oSystem.out.println(產(chǎn)生了+count+個(gè)對象!);ooopublic class classdemo20opublic static void main(String args)on
24、ew demo();onew demo();onew demo();oooo常用來計(jì)數(shù)西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄靜態(tài)方法(類方法)class Sumint x,y,z;/成員變量static int getContinueSum(int start,int end)/設(shè)置靜態(tài)方法int sum = 0;for(int i = start ;i= end; i+)sum = sum + i;return sum;public class StaticFunctionSamplepublic static void main(String args)int result = Sum.g
25、etContinueSum(10,100);/調(diào)用靜態(tài)方法System.out.println(result);西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄對象數(shù)組o定義:就是指一組相關(guān)對象的集合,用數(shù)組來描述。o格式類 對象數(shù)組名 = new 類數(shù)組長度 例如西南財(cái)經(jīng)大學(xué) 前一頁 課間休息 回目錄oclass Peopleoprivate String name;opublic People(String name) = name;oopublic String getInfor()oreturn ;ooopublic class classdemo20opu
26、blic static void main(String args)oPeople stu = new People3;/定義對象數(shù)組ooSystem.out.println(_);ofor(int i = 0; i stu.length;i+)oSystem.out.print(stui+ );ooSystem.out.println();o/給每個(gè)數(shù)組元素賦值ostu0 = new People(張三);ostu1 = new People(里斯);ostu2 = new People(王五);oSystem.out.println(_);ofor(int i = 0;istu.length;i+)oSys
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NFT在珠寶領(lǐng)域的應(yīng)用-洞察及研究
- 大數(shù)據(jù)驅(qū)動(dòng)的社交商務(wù)用戶行為分析-洞察及研究
- 商業(yè)樓宇房屋維修施工方案計(jì)劃
- 2025年內(nèi)蒙古通遼市科左后旗甘旗卡第二中學(xué)物理高二第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 2025屆陜西西安地區(qū)物理高一第二學(xué)期期末考試試題含解析
- 集成電路工程師項(xiàng)目總結(jié)與計(jì)劃范文
- 小學(xué)二年級(jí)心理健康促進(jìn)教學(xué)計(jì)劃
- 青藍(lán)工程徒弟導(dǎo)師指導(dǎo)計(jì)劃
- 2025年中學(xué)教研教育科研項(xiàng)目計(jì)劃
- 小學(xué)五年級(jí)美術(shù)課評(píng)價(jià)體系計(jì)劃
- 港口裝卸作業(yè)培訓(xùn)
- 2025年湖北省武漢市中考數(shù)學(xué)真題(無答案)
- 鉗工考試試題及答案
- 呼倫貝爾農(nóng)墾集團(tuán)有限公司招聘筆試題庫2025
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
- QC降低礦山法圍巖隧道爆破超挖量
- 2023年5月FDA口服速釋制劑根據(jù)BCS分類系統(tǒng)的生物利用度與生物等效性研究及生物等效性豁免
- 校園文化建設(shè)方案(共60張PPT)
- 藍(lán)色海洋經(jīng)濟(jì)海事航海漁業(yè)水產(chǎn)養(yǎng)殖港口碼頭海運(yùn)PPT模板
- 不飽和聚酯樹脂化學(xué)品安全技術(shù)說明書MSDS
- 機(jī)動(dòng)車排放檢驗(yàn)比對試驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論