




已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講教師: xxx,Java語(yǔ)言程序設(shè)計(jì), Java語(yǔ)言程序設(shè)計(jì),第六章:類(lèi)、對(duì)象和接口,6.1 什么類(lèi)-1,面向?qū)ο蟪绦颍∣OP)語(yǔ)句能使現(xiàn)實(shí)世界中的概念,在計(jì)算機(jī)程序中變成模塊。它包括整個(gè)程序、程序的模塊及數(shù)據(jù)和算法。 OOP語(yǔ)言有三個(gè)特征:封裝性、繼承性及多態(tài)性。所有這些特征與類(lèi)的概念是息息相關(guān)的。 類(lèi)封裝了一類(lèi)對(duì)象的狀態(tài)和方法。類(lèi)是定義對(duì)象的模板。 類(lèi)的聲明: class People ,6.1 什么類(lèi)-2,6.1 什么類(lèi)-3,類(lèi)的聲明與定義:,6.1 什么類(lèi)-4,類(lèi)的聲明與定義: public :這個(gè)public關(guān)鍵字聲明了類(lèi)可以在其它任何的類(lèi)中使用。 abstract :聲明的類(lèi)不能被實(shí)例化。 final:聲明的類(lèi)不能被繼承,即不能有子類(lèi)。 class NameOfClass :關(guān)鍵字class指示編譯器類(lèi)的聲明以及類(lèi)的名字是NameOfClass。 extends Super :這個(gè)extends 子句認(rèn)為Super是類(lèi)的父類(lèi)。 implements Interfaces :為了聲明類(lèi)可執(zhí)行一個(gè)或多個(gè)接口,可以使用關(guān)鍵字implements并且在其后面給出由類(lèi)執(zhí)行的接口名字的列表,它們是以逗號(hào)分隔的。,6.1 什么類(lèi)-5,成員變量和局部變量: (1)成員變量和局部變量的類(lèi)型可以是任何一種數(shù)據(jù)類(lèi)型。 (2)成員變量在整個(gè)類(lèi)內(nèi)有效,局部變量只在定義它的方法內(nèi)有效。 class Aint x; int f()int a; a = x; int g()int y; y=a; (3)成員變量又分為實(shí)例成員變量和類(lèi)成員變量。 class dogfloat x; static int y; (4)變量的名字與成員變量的名字相同,成員變量被隱藏。 class Tomint x=98,y; void f()int x=3; y=x; (5)上面情況中要在該方法內(nèi)使用成員變量,使用this; class Jerry float x,y,x; void g(float z) float x=1;y=23; this.x=x; this.y=y;this.z=z;,6.1 什么類(lèi)-6,方法: (1)方法的重載。 class Tom float jerry(float s)return s float jerry(float x,int y)return x*x+y*y; (2)構(gòu)造方法。 class Pointint x,y; Pointx=67; y=100; (3)類(lèi)方法和實(shí)例方法。 class Aint a=23; float max(float x,float y); static float jerry() ,6.1 什么類(lèi)-7,= 和 equals()的區(qū)別 傳值和傳引用 內(nèi)部類(lèi) 匿名類(lèi),6.2 什么對(duì)象-1,創(chuàng)建對(duì)象: (1)對(duì)象的聲明。 Point p1; (2)為聲明的對(duì)象分配內(nèi)存空間。 p1=new Point(); (3)p1是引用,使用new之前,并未對(duì)象分配空間。,0x1234,12,24,p1,x,y,6.2 什么對(duì)象-2,類(lèi)中的訪問(wèn)權(quán)限:,6.3 類(lèi)的繼承-1,創(chuàng)建子類(lèi): 格式如下:class Students extends People。 (1)子類(lèi)自然繼承父類(lèi)中不是private的成員。如果一個(gè)類(lèi)沒(méi)有使用extends關(guān)鍵字,系統(tǒng)默認(rèn)是Object的子類(lèi)。Object 是包java.lang中的類(lèi)。 (2)成員變量的隱藏和方法的重寫(xiě)。 class Chengjifloat f(float x,float y)return x*y; class Xiangjia extends Chengji float f(float x,float y)return x+y ; public class Test public static void main(String args) Xiangjia sum; sum=new Xiangjia(); sum.f(4,6);,6.3 類(lèi)的繼承-2,(3)運(yùn)行時(shí)的多態(tài)性。 class Shape float area()return 0.0; class Circle extends Shape float r; float area()return 3.14*r*r; class Rect extends Shape float x,y; float area()return x*y; public class Test public static void main(String args) Shape s; s=new Circle(); s.area();,6.3 類(lèi)的繼承-3,(4)final類(lèi)和final方法。final類(lèi)不能被繼承,final方法不能被修改。 final class A class B extends A (5)abstract 類(lèi)和abstract方法。 abstract 類(lèi)不能創(chuàng)建對(duì)象,必須產(chǎn)生子類(lèi),由子類(lèi)創(chuàng)建對(duì)象。 abstract方法,只允許聲明,不允許實(shí)現(xiàn)。 abstract 類(lèi)可以沒(méi)有abstract方法;但一個(gè)類(lèi)如果有abstract方法,這個(gè)類(lèi)必須用abstract修飾。 (6)使用super關(guān)鍵字。在子類(lèi)中想使用被子類(lèi)隱藏的父類(lèi)的成員需利用super關(guān)鍵字。,6.3 類(lèi)的繼承-4,public class Employee private String name; private int salary; public String getDetails() return Name: “ + name + “nSalary: “ + salary; public class Manager extends Employee private String department; public String getDetails() return super.getDetails() + / call parents / method “nDepartment: “ + department; ,6.3 類(lèi)的繼承-5,(7)instanceof 運(yùn)算符 : public class Employee extends Object public class Manager extends Employee public class Contractor extends Employee public void method(Employee e) if (e instanceof Manager) / Get benefits and options along with salary else if (e instanceof Contractor) / Get hourly rates else / temporary employee ,6.4 接口-1,Java不支持多重繼承,一個(gè)子類(lèi)只能有一個(gè)父類(lèi)。Java使用接口來(lái)實(shí)現(xiàn)多個(gè)接口。 接口的定義與聲明: interface Printable final int MAX =100;void add(); float sum(float x,float y); 接口的使用: class A impelents Printable ,Addable。 接口中的方法默認(rèn)是public的,所以類(lèi)在實(shí)現(xiàn)接口方法時(shí),一定用public來(lái)修飾。,6.4 接口-2,import java.awt.*; import java.applet.*; import java.awt.event.*; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; public class s extends Applet implements MouseListener Image img1,img2; AudioClip clip; boolean tag; public void init() img1=getImage(getCodeBase(),“ys.jpg“); img2=getImage(getCodeBase(),“ws.jpg“); clip=getAudioClip(getCodeBase(),“bg.au“); tag=true; addMouseListener(this); ,6.4 接口-3,public void paint(Graphics g) if (tag)g.drawImage(img1,0,0,this); clip.loop(); else g.drawImage(img2,0,0,this); clip.stop(); public void mouseClicked(MouseEvent parm1) / TODO: Add your code here tag= !tag; repaint(); public void destroy() if (clip!=null) clip.stop(); clip=null; public void mousePressed(MouseEvent parm1) public void mouseReleased(MouseEvent parm1) public void mouseEntered(MouseEvent parm1) / TODO: Add your code here public void mouseExited(MouseEvent parm1) / TODO: Add your code here ,6.5 包-1,1、包聲明必須在源程序文件的開(kāi)始被聲明 2、一個(gè)源程序文件,只允許有一個(gè)包聲明 / Class Employee of the Finance department for / the ABC company package abc.financedept; public class Employee . 3、包名稱(chēng)是分層的,由圓點(diǎn)隔開(kāi) 。包名都用小寫(xiě)字母表示。 4、通過(guò)包命名機(jī)制,可以確保類(lèi)名的唯一性。 cn . com . sina 5、如果源程序省略了包名,則源文件中定義的類(lèi)默認(rèn)為無(wú)名包的一部分。,6.5 包-2,6、如果程序使用了包 package tom . jiafei ; class People 那么你的目錄結(jié)構(gòu)必須為 tomjiafei; 比如:c:projecttomjiafei,且你的classpath中含有 c:proj
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水利實(shí)務(wù)試題及答案
- 白庇中醫(yī)護(hù)理方案
- 喉罩的護(hù)理措施
- IT培訓(xùn)咨詢(xún)師年中分享
- 2025年 東營(yíng)市中醫(yī)院招聘考試試卷附答案
- 2025年中國(guó)噴霧曬黑機(jī)行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 銷(xiāo)售員工衛(wèi)生培訓(xùn)
- 信息技術(shù)培訓(xùn)小結(jié)
- 教師安全培訓(xùn)會(huì)
- 現(xiàn)代心血管病護(hù)理
- 2024年03月廣東2024年珠海華潤(rùn)銀行社會(huì)招考(33)筆試歷年參考題庫(kù)附帶答案詳解
- 14-2《變形記》(節(jié)選)公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)統(tǒng)編版高中語(yǔ)文必修下冊(cè)
- 卸料平臺(tái)培訓(xùn)課件
- 2025年陽(yáng)光財(cái)產(chǎn)保限公司招聘筆試參考題庫(kù)含答案解析
- 葡萄收購(gòu)合同范例
- 監(jiān)理工作廉潔自律制度及措施
- 公司法知識(shí)競(jìng)賽考試題庫(kù)100題(含答案)
- 物業(yè)管理項(xiàng)目主動(dòng)撤場(chǎng)
- 三年級(jí)數(shù)學(xué)升學(xué)測(cè)試試卷
- 2024年廣東省深圳市中考道德與法治試題卷
- GB/T 32124-2024磷石膏的處理處置規(guī)范
評(píng)論
0/150
提交評(píng)論