面向?qū)ο缶幊蘰pt課件_第1頁
面向?qū)ο缶幊蘰pt課件_第2頁
面向?qū)ο缶幊蘰pt課件_第3頁
面向?qū)ο缶幊蘰pt課件_第4頁
面向?qū)ο缶幊蘰pt課件_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章第三章 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊堂嫦驅(qū)ο缶幊堂嫦驅(qū)ο缶幊蘮學(xué)習(xí)目的學(xué)習(xí)目的n掌握:掌握創(chuàng)建和運用類對象、運用包的根本方掌握:掌握創(chuàng)建和運用類對象、運用包的根本方法。法。n了解:了解面向?qū)ο蟪绦蛟O(shè)計的根本思想和面向了解:了解面向?qū)ο蟪绦蛟O(shè)計的根本思想和面向?qū)ο蟮母拍?。對象的概念。n了解:類的多態(tài),接口的聲明及實現(xiàn)方法。了解:類的多態(tài),接口的聲明及實現(xiàn)方法。n重點重點n明確各種修飾符的作用,了解承繼和復(fù)用的概念明確各種修飾符的作用,了解承繼和復(fù)用的概念n了解父類和子類了解父類和子類n學(xué)會學(xué)會Java類的定義和對象的創(chuàng)建。類的定義和對象的創(chuàng)建。 n難點難點n了解多態(tài)性是如何擴展和維護(hù)系統(tǒng)性能了

2、解多態(tài)性是如何擴展和維護(hù)系統(tǒng)性能n類多態(tài)的實現(xiàn)。類多態(tài)的實現(xiàn)。本講要點本講要點面向?qū)ο缶幊堂嫦驅(qū)ο缶幊堂嫦蜻^程和面向?qū)ο竺嫦蜻^程和面向?qū)ο髇 面向過程程序設(shè)計表示圖面向過程程序設(shè)計表示圖 面向?qū)ο蟪绦蛟O(shè)計表示面向?qū)ο蟪绦蛟O(shè)計表示圖圖 1-4面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.1面向?qū)ο蟮乃枷朊嫦驅(qū)ο蟮乃枷?n面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?n對象是具有某種特性和某種功能的東對象是具有某種特性和某種功能的東西。西。n將同一種類型的對象歸為一個類。將同一種類型的對象歸為一個類。n類是對象的籠統(tǒng),對象是類的實例。類是對象的籠統(tǒng),對象是類的實例。n類的特征和行為分別命名為屬性和方類的特征和行為分別命名為

3、屬性和方法法n類是對象的模板,而對象是類的實例;類是對象的模板,而對象是類的實例;n共性與個性的關(guān)系,是籠統(tǒng)與詳細(xì)的關(guān)系共性與個性的關(guān)系,是籠統(tǒng)與詳細(xì)的關(guān)系 。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮例如:電視機例如:電視機類類n 屬性:尺寸屬性:尺寸n 顏色顏色n 型號型號n 方法:翻開方法:翻開n 封鎖封鎖n 選擇節(jié)目選擇節(jié)目面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.1面向?qū)ο蟮乃枷朊嫦驅(qū)ο蟮乃枷雗一個類中定義的方法可被該類的對象調(diào)用,一個類中定義的方法可被該類的對象調(diào)用,對象方法的每一調(diào)用被稱作發(fā)送一個音訊對象方法的每一調(diào)用被稱作發(fā)送一個音訊message給對象給對象 。n對象間是相互獨立,經(jīng)過發(fā)送音訊相互影響。對

4、象間是相互獨立,經(jīng)過發(fā)送音訊相互影響。一個音訊由三部分組成:一個音訊由三部分組成:n(1) 音訊目的對象;音訊目的對象;n(2) 執(zhí)行方法的名字;執(zhí)行方法的名字;n(3) 執(zhí)行方法所需求的參數(shù)執(zhí)行方法所需求的參數(shù)parameters。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮封裝性封裝性n封裝性就是把對象的屬性和方法結(jié)合成一個獨立封裝性就是把對象的屬性和方法結(jié)合成一個獨立的一樣單位,并盡能夠隱蔽對象的內(nèi)部細(xì)節(jié)。對的一樣單位,并盡能夠隱蔽對象的內(nèi)部細(xì)節(jié)。對外構(gòu)成一個邊境或者說構(gòu)成一道屏障,只保外構(gòu)成一個邊境或者說構(gòu)成一道屏障,只保管有限的對外接口使之與外部發(fā)生聯(lián)絡(luò)。管有限的對外接口使之與外部發(fā)生聯(lián)絡(luò)。n承繼性承

5、繼性n特殊類的對象擁有其普通類的全部屬性與方法,特殊類的對象擁有其普通類的全部屬性與方法,稱作特殊類對普通類的承繼稱作特殊類對普通類的承繼 .普通類為父類普通類為父類superclass,超類,特殊類為子類超類,特殊類為子類(subclass)。n多態(tài)性多態(tài)性n對象的多態(tài)性是指在普通類中定義的屬性或方法對象的多態(tài)性是指在普通類中定義的屬性或方法被特殊類承繼之后,可以具有不同的數(shù)據(jù)類型或被特殊類承繼之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。表現(xiàn)出不同的行為。 面向?qū)ο蟮奶攸c面向?qū)ο蟮奶攸c 面向?qū)ο笕髾C制:面向?qū)ο笕髾C制:封裝:隱藏內(nèi)部實現(xiàn)封裝:隱藏內(nèi)部實現(xiàn)承繼:復(fù)用現(xiàn)有代碼承繼:復(fù)用現(xiàn)

6、有代碼多態(tài):改寫對象行為多態(tài):改寫對象行為面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.2類類n類由數(shù)據(jù)成員和方法組成。類封裝了一類對象的形類由數(shù)據(jù)成員和方法組成。類封裝了一類對象的形狀和方法狀和方法 。 汽車汽車(類類)品牌品牌型號型號顏色顏色-加速與減速設(shè)計加速與減速設(shè)計轉(zhuǎn)向設(shè)計轉(zhuǎn)向設(shè)計剎車設(shè)計剎車設(shè)計面向?qū)ο缶幊堂嫦驅(qū)ο缶幊填惖穆暶黝惖穆暶黝惖男揎椃糜陉U明類的特征和訪問權(quán)限,包括類的修飾符用于闡明類的特征和訪問權(quán)限,包括public,abstract,final,friendly。public:表示此類為表示此類為“公共類公共類 ; abstract:表示此類為:表示此類為“籠統(tǒng)類籠統(tǒng)類 ; final

7、:表示此類為:表示此類為“最終類最終類 .類名是類名是Java標(biāo)識符。通常,類名的第一個字母為大標(biāo)識符。通常,類名的第一個字母為大寫。寫。 類的修飾符類的修飾符classclass類名類名extends extends 父類名父類名 implements implements ,接口名接口名 成員變量;成員變量; 成員方法;成員方法;( (簡稱方法簡稱方法) ) 類聲明類聲明類體類體系統(tǒng)定義類系統(tǒng)定義類(系統(tǒng)提供的類系統(tǒng)提供的類):曾經(jīng)定義好的類,可直接運用。:曾經(jīng)定義好的類,可直接運用。用戶定義類用戶定義類(用戶本人定義的類用戶本人定義的類):創(chuàng)建一個新類,即創(chuàng)建一個新:創(chuàng)建一個新類,即創(chuàng)建

8、一個新的數(shù)據(jù)類型。的數(shù)據(jù)類型。J a v a類類面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮一個一個Java程序可以定義很多個類,但只能有一個程序可以定義很多個類,但只能有一個public類,程序的主類必需是類,程序的主類必需是public類。每個程序類。每個程序都從主類開場執(zhí)行。都從主類開場執(zhí)行。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮class,extends,implements都是都是Java關(guān)鍵字。關(guān)鍵字。nclass闡明定義類。闡明定義類。nextends闡明目前定義的類是父類承繼而來的子闡明目前定義的類是父類承繼而來的子類,該父類必需存在。類,該父類必需存在。nimplements闡明類要實現(xiàn)某個接口。各接口名

9、之闡明類要實現(xiàn)某個接口。各接口名之間用逗號間用逗號“,分隔。,分隔。n類體包含:實現(xiàn)類功能的類體包含:實現(xiàn)類功能的Java言語程序代碼、成言語程序代碼、成員變量、成員方法。員變量、成員方法。n類的成員變量定義類的成員變量定義:n 修飾符修飾符 數(shù)據(jù)類型數(shù)據(jù)類型 成員變量成員變量=初值初值; n成員變量的修飾符成員變量的修飾符 n訪問控制修飾符訪問控制修飾符public、protected、private; n存在修飾符存在修飾符static、abstract和和final。 類的聲明類的聲明面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮其中:其中:nfinal:表示該變量不能再被修正,稱為常量。:表示該變量不能再

10、被修正,稱為常量。n 例如:例如:final int a=3;nstatic:表示該變量時靜態(tài)變量,也稱為類變量。:表示該變量時靜態(tài)變量,也稱為類變量。屬于這個類的一切對象的變量。而實例變量只屬于屬于這個類的一切對象的變量。而實例變量只屬于某個對象。經(jīng)過某個對象。經(jīng)過“類類.變量名和變量名和“對象對象.變量名援變量名援用。用。n默許修飾符,假設(shè)某個成員變量沒有設(shè)置訪問權(quán)限,默許修飾符,假設(shè)某個成員變量沒有設(shè)置訪問權(quán)限,允許類本身以及在同一個包中的一切類的變量訪問。允許類本身以及在同一個包中的一切類的變量訪問。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮class Examplennint i;nstatic i

11、nt j;npublic static void main(String args)nnExample a=new Example();na.j=3;nExample.j=2;na.i=4;nExample.i=5; nn面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮類的成員方法類的成員方法n 定義的普通方式為:定義的普通方式為:n 方法修飾符方法修飾符 n n 方法體方法體 n n成員方法修飾符成員方法修飾符 n 主要有主要有public、private、protected、final、static、abstract和和synchronized七種七種 。n成員方法的前往值類型成員方法的前往值類型 n方法前往值

12、用方法前往值用return語句來實現(xiàn),前往的數(shù)據(jù)類型語句來實現(xiàn),前往的數(shù)據(jù)類型必需與方法闡明中的方法前往值類型一致必需與方法闡明中的方法前往值類型一致 ; n假設(shè)不需求前往值,那么其前往值類型被闡明為假設(shè)不需求前往值,那么其前往值類型被闡明為void; 類的聲明類的聲明面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮final:為最終方法,不能在其所在類的子類中被重為最終方法,不能在其所在類的子類中被重載,只能被承繼,不能被重寫。載,只能被承繼,不能被重寫。nstatic:不需求初始化該方法所在的類。也不能被它不需求初始化該方法所在的類。也不能被它的子類所重載。的子類所重載。n 在一個在一個static方法中,只能

13、訪問被定義為方法中,只能訪問被定義為static的的類變量和類方法。類變量和類方法。nabstract:籠統(tǒng)方法,只需方法闡明,沒有方法體?;\統(tǒng)方法,只需方法闡明,沒有方法體。在它所在的類的子類中詳細(xì)實現(xiàn)?;\統(tǒng)方法所在的在它所在的類的子類中詳細(xì)實現(xiàn)?;\統(tǒng)方法所在的類稱為籠統(tǒng)類。類稱為籠統(tǒng)類。nsynchronized:同步方法,在多線程中運用。同步方法,在多線程中運用。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮方法名方法名n 成員方法名是成員方法名是Java言語合法的標(biāo)識符。言語合法的標(biāo)識符。n參數(shù)列表參數(shù)列表n 成員方法的參數(shù)列表是由逗號分隔的類型及參數(shù)成員方法的參數(shù)列表是由逗號分隔的類型及參數(shù)名組成,是可

14、選項。名組成,是可選項。n方法體方法體n 方法體是一個方法定義的主要部分,包含了一方法體是一個方法定義的主要部分,包含了一切實現(xiàn)方法功能的切實現(xiàn)方法功能的Java言語程序代碼,方法體用言語程序代碼,方法體用“ 括起來括起來 。n例例3-2 :源程序名為:源程序名為TestCir.java;定義一個方法,;定義一個方法,其功能是根據(jù)參數(shù)其功能是根據(jù)參數(shù)r的大小,前往圓的面積。的大小,前往圓的面積。 n 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:類的聲明類的聲明面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘰ublic class TestCir public static void main(String args) /main方法方法

15、double k; TestCir mj=new TestCir(); k=mj.area(5); System.out.println(k); public double area(int r) /定義定義area方法,帶有一個參數(shù)方法,帶有一個參數(shù)r final double PI=3.14; /定義常量定義常量PI為為3.14 return PI*r*r; /由由r的值,計算面積,前往面積值的值,計算面積,前往面積值 類的聲明類的聲明面向?qū)ο缶幊堂嫦驅(qū)ο缶幊坦こ塘x務(wù):n定義一個正方形,它的數(shù)據(jù)成員包括長和寬,成員定義一個正方形,它的數(shù)據(jù)成員包括長和寬,成員函數(shù)包括設(shè)置長和寬的值,求長方形

16、的面積。在主函數(shù)包括設(shè)置長和寬的值,求長方形的面積。在主方法中定義正方形對象,求長是方法中定義正方形對象,求長是5,寬是,寬是3的面積。的面積。然后再求長是然后再求長是8,寬是,寬是4的面積。的面積。n定義一個職員類定義一個職員類Emplyee姓名,年齡,性別,薪姓名,年齡,性別,薪水,一個顯示信息的方法,并輸出職員信息。水,一個顯示信息的方法,并輸出職員信息。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊虡?gòu)造方法構(gòu)造方法 構(gòu)造方法是一種特殊的方法,其稱號與類名一樣。構(gòu)造方法是一種特殊的方法,其稱號與類名一樣。Java言語中每個類都有構(gòu)造方法言語中每個類都有構(gòu)造方法 。構(gòu)造方法的特點構(gòu)造方法的特點構(gòu)造方法沒有前往值

17、類型,沒有構(gòu)造方法沒有前往值類型,沒有void。其修飾符只。其修飾符只能是訪問控制修飾符,即能是訪問控制修飾符,即public、private、protected中的任一個。中的任一個。構(gòu)造方法不能從父類中承繼。構(gòu)造方法不能從父類中承繼。構(gòu)造方法可以重載,一個類可以有恣意多個構(gòu)造方構(gòu)造方法可以重載,一個類可以有恣意多個構(gòu)造方法。不同的構(gòu)造方法根據(jù)參數(shù)的不同形狀來選擇法。不同的構(gòu)造方法根據(jù)參數(shù)的不同形狀來選擇適宜的構(gòu)造方法。適宜的構(gòu)造方法。構(gòu)造方法不能直接經(jīng)過方法名援用,必需經(jīng)過構(gòu)造方法不能直接經(jīng)過方法名援用,必需經(jīng)過new運算符。運算符。在構(gòu)造方法中調(diào)用當(dāng)前類和其父類的構(gòu)造方法,但在構(gòu)造方法中

18、調(diào)用當(dāng)前類和其父類的構(gòu)造方法,但必需在方法體的第一條語句。必需在方法體的第一條語句。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮在前一個義務(wù)的根底上,構(gòu)造在前一個義務(wù)的根底上,構(gòu)造3個構(gòu)造函數(shù)。個構(gòu)造函數(shù)。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘴his對象本身對象本身n表示對象本身表示對象本身n在不同方法中表示調(diào)用這個方法的對象在不同方法中表示調(diào)用這個方法的對象n在構(gòu)造方法中表示新創(chuàng)建的對象在構(gòu)造方法中表示新創(chuàng)建的對象n作用作用n運用運用this訪問域及方法訪問域及方法n運用運用this處理部分變量與成員變量同名處理部分變量與成員變量同名n在構(gòu)造方法中,用在構(gòu)造方法中,用this調(diào)用另一個構(gòu)造方法調(diào)用另一個構(gòu)造方法n 必需放

19、在第一句必需放在第一句n不能經(jīng)過不能經(jīng)過this援用類變量、類方法援用類變量、類方法面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘡lass Person String name; public void ex1(String name) /name=name; =name; public void ex2() ex1(“XMJ);/? this.ex1(“XMJ);/? /部分變量與成員變量同名部分變量與成員變量同名public class A public A(int i) public A(int i,int j) this(5);/第一句第一句 /調(diào)用另一個構(gòu)造方法調(diào)用另一個構(gòu)造方法面向?qū)?/p>

20、象編程面向?qū)ο缶幊蘳uper直接父類直接父類運用運用super訪問父類被子類隱藏的同名的成員訪問父類被子類隱藏的同名的成員運用父類的構(gòu)造方法運用父類的構(gòu)造方法super()必需放在第一句必需放在第一句class A int i; void value() i=10; System.out.println(i); class B extends A int i; void value() i=20;super.value(); System.out.println(i); System.out.println(super.i); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮this與與super的區(qū)別的區(qū)別n t

21、his運用當(dāng)前類的構(gòu)造方法,運用當(dāng)前類的構(gòu)造方法,super運用其父運用其父類的構(gòu)造方法。類的構(gòu)造方法。nthis用以指代一個對象本身,它的作用主要是將用以指代一個對象本身,它的作用主要是將本人當(dāng)成對象作為參數(shù),傳送給別的對象中的本人當(dāng)成對象作為參數(shù),傳送給別的對象中的方法;方法;nsuper為了訪問父類的成員變量或方法,采用為了訪問父類的成員變量或方法,采用super加上點和成員變量或方法的方式。加上點和成員變量或方法的方式。構(gòu)造方法構(gòu)造方法面向?qū)ο缶幊堂嫦驅(qū)ο缶幊汤?-3:源程序名為:源程序名為Inheritance.java,是構(gòu)造方法的例子。,是構(gòu)造方法的例子。 /*定義一個父類定義

22、一個父類superclassname*/class superclassname int x;superclassname() /父類無參數(shù)構(gòu)造方法父類無參數(shù)構(gòu)造方法 x=3; System.out.println(在父類中在父類中x=+x); void dosomething() /父類中成員方法父類中成員方法 System.out.println(在父類中在父類中dosomething(); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?*定義一個子類定義一個子類subclass,從,從superclassname承繼而來承繼而來*/ class subclass extends superclassname

23、 int x; subclass() super(); /調(diào)用父類無參數(shù)構(gòu)造方法調(diào)用父類無參數(shù)構(gòu)造方法 x=5; System.out.println(在子類中在子類中x=+x); void dosomething() /子類中成員方法子類中成員方法 super.dosomething(); /調(diào)用父類中成員方法調(diào)用父類中成員方法 dosomething() System.out.println(在子類中在子類中dosomething(); System.out.println(super.x=+super.x+ sub.x=+this.x); /*利用利用super援用父類對象,利用援用父類

24、對象,利用this援用當(dāng)前對象援用當(dāng)前對象*/ 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?/*定義主程序類定義主程序類inheritance*/ class Inheritance public static void main(String args) subclass subc=new subclass(); /調(diào)調(diào)用子類構(gòu)造方法創(chuàng)建一個對象用子類構(gòu)造方法創(chuàng)建一個對象subc subc.dosomething(); /調(diào)用子類的成員方法調(diào)用子類的成員方法 dosomething() 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.3對象對象 n對象的定義對象的定義n= new參數(shù)參數(shù)1,參數(shù),參數(shù)2,;n

25、或者:或者:n ;n = new 參數(shù)參數(shù)1,參數(shù),參數(shù)2,;n創(chuàng)建對象實踐執(zhí)行了三個操作:闡明對象、實例化創(chuàng)建對象實踐執(zhí)行了三個操作:闡明對象、實例化對象和初始化對象。對象和初始化對象。n闡明對象:就是給對象命名,也稱定義一個實例變闡明對象:就是給對象命名,也稱定義一個實例變量。量。n 普通方式為:普通方式為: ;n實例化對象:給對象分配存儲空間,用來保管對象實例化對象:給對象分配存儲空間,用來保管對象的數(shù)據(jù)和代碼。的數(shù)據(jù)和代碼。new運算符用來實現(xiàn)對象的實例化。運算符用來實現(xiàn)對象的實例化。n = new 參數(shù)參數(shù)1,參數(shù)參數(shù)2,;面向?qū)ο缶幊堂嫦驅(qū)ο缶幊虒ο蟮倪\用對象的運用 n初始化對象經(jīng)

26、過調(diào)用該對象所在類的構(gòu)造方法來實初始化對象經(jīng)過調(diào)用該對象所在類的構(gòu)造方法來實現(xiàn)的?,F(xiàn)的。n 援用對象的方法普通方式:援用對象的方法普通方式:n,;n例例3-4:程序:程序TwoArea.java,是援用對象的例子。,是援用對象的例子。 執(zhí)行結(jié)果:執(zhí)行結(jié)果:面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?*定義一個類定義一個類Point*/class Point public int x; /定義成員變量定義成員變量 public int y; /定義成員變量定義成員變量 public Point() /Point構(gòu)造方法,不帶參數(shù)構(gòu)造方法,不帶參數(shù) this.x=0; /援用當(dāng)前援用當(dāng)前x this.y=0; /援

27、用當(dāng)前援用當(dāng)前y public Point(int x,int y) /Point構(gòu)造方法,構(gòu)造方法,帶兩個參數(shù)帶兩個參數(shù) this.x=x; /援用當(dāng)前援用當(dāng)前x this.y=y; /援用當(dāng)前援用當(dāng)前y 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?*定義一個類定義一個類Graph*/class Graph public int width=0; /定義成員變量定義成員變量 public int height=0; /定義成員變量定義成員變量 public Point origin; /定義成員變量定義成員變量 public Graph() /Graph構(gòu)造方法構(gòu)造方法1,不帶參數(shù),不帶參數(shù) origin=n

28、ew Point(0,0); public Graph(Point p) /Graph構(gòu)造方法構(gòu)造方法2,帶一個參數(shù),帶一個參數(shù) origin=p; public Graph(Point p,int w,int h) /Graph構(gòu)造方法構(gòu)造方法3,帶三個參,帶三個參數(shù)數(shù) origin=p; width=w; height=h; 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘰ublic void move1(int x,int y) /成員方法成員方法move1 origin.x=x; origin.y=y; public void move2(int a,int b) /成員方法成員方法move2 origin

29、.x+=a; origin.y+=b; public int area() /成員方法成員方法area return width * height; 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘰ublic class TwoArea /*定義主程序類定義主程序類*/ public static void main(String args) int x=3,y=4; int w=4,h=5; Point p1=new Point(x,y); /將原點將原點p1定在定在(3,4)坐標(biāo)點坐標(biāo)點 Point p2=new Point(6,8); /將原點將原點p2定在定在(6,8) 坐標(biāo)點坐標(biāo)點 Graph r1=ne

30、w Graph(p1,w,h); Graph r2=new Graph(p2,8,10); r1.move1(4,6); /把矩形把矩形r1的原點移到的原點移到4,6 r2.move2(-2,4); /把矩形把矩形r2的原點的原點x坐標(biāo)減坐標(biāo)減2,y坐標(biāo)加坐標(biāo)加4 System.out.println(兩個矩形面積差兩個矩形面積差=+(r2.area() - r1.area(); /*調(diào)用成員方法計算矩形調(diào)用成員方法計算矩形r2與與r1面積差面積差*/ System.out.print(r1的原點為的原點為(+r1.origin.x+,); System.out.println(r1.orig

31、in.y+); System.out.print(r2的原點為的原點為(+r2.origin.x+,); System.out.println(r2.origin.y+); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.4承繼與多態(tài)承繼與多態(tài)n承繼性n子類可以沿用父類的某些特征。子類也可以具有本人獨立的屬性和操作。n承繼分單承繼和多承繼。 圓圓矩形矩形幾何形狀幾何形狀兼 職 技 術(shù) 人 員銷 售 經(jīng) 理管 理 人 員銷 售 人 員雇 員面向?qū)ο缶幊堂嫦驅(qū)ο缶幊淌裁词浅欣^n在日常生活中,經(jīng)常遇到如下問題。有一輛自行車在日常生活中,經(jīng)常遇到如下問題。有一輛自行車,自行車有顏色和型號大小之分,而公路賽車也有,自行車有

32、顏色和型號大小之分,而公路賽車也有顏色和型號大小之分,公路賽車多了一項速度的優(yōu)顏色和型號大小之分,公路賽車多了一項速度的優(yōu)勢。自行車有的東西公路賽車全都有,而公路賽車勢。自行車有的東西公路賽車全都有,而公路賽車有的東西自行車不一定有,它們一樣地方有很多。有的東西自行車不一定有,它們一樣地方有很多。在在JavaJava中,對于這種情況下就采用承繼來完成這個中,對于這種情況下就采用承繼來完成這個功能。功能。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?這是一個類,表述的是一個自行車這是一個類,表述的是一個自行車 public class bikepublic class bike public String colo

33、r; public String color; /自行車的顏色自行車的顏色 public int size; public int size; /自行車的大小自行車的大小, ,即型號即型號 /這是一個類,表述的是一個公路賽類這是一個類,表述的是一個公路賽類pubic class racing_cyclepubic class racing_cycle public String color; public String color; /自行車的顏色自行車的顏色public int size; public int size; /自行車的大小自行車的大小, ,即型號即型號public Strin

34、g speed; public String speed; /公路賽車的速度公路賽車的速度 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮/這是一個類,表述的是一個自行車這是一個類,表述的是一個自行車npublic class bikenn public String color;/自行車的顏色自行車的顏色n public int size; /自行車的大小,即型號自行車的大小,即型號nn/這是一個類,表述的是一個公路賽車,它承繼于自行車這是一個類,表述的是一個公路賽車,它承繼于自行車npubic class racing_cycle extends bikenn public String speed; /公路

35、賽車的速度公路賽車的速度n面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮在在Java中,被承繼的類叫超類中,被承繼的類叫超類superclass,承繼超類,承繼超類的類叫子類的類叫子類subclass。因此,子類是超類的一個功能上。因此,子類是超類的一個功能上的擴展,它承繼了超類定義的一切屬性和方法,并且添加了的擴展,它承繼了超類定義的一切屬性和方法,并且添加了特有功能方法。特有功能方法。nJava是單承繼的,子類可以有很多,父類只能有一個。上面是單承繼的,子類可以有很多,父類只能有一個。上面的例子,假設(shè)加一個的例子,假設(shè)加一個Friend類,類,Son只能承繼自只能承繼自Father,要,要么承繼么承繼Frie

36、nd,不能同時承繼,不能同時承繼Father和和Friend。nJava的承繼是多層承繼的,是一個類可以有很多子類,而子的承繼是多層承繼的,是一個類可以有很多子類,而子類下面又可以有很多子類。類下面又可以有很多子類。n父類沒有定義一個無參的構(gòu)造器,那么編譯器就默許生成一父類沒有定義一個無參的構(gòu)造器,那么編譯器就默許生成一個無參的構(gòu)造器,也可以在子類構(gòu)造器里顯示運用個無參的構(gòu)造器,也可以在子類構(gòu)造器里顯示運用super方方法調(diào)用父類構(gòu)造器,法調(diào)用父類構(gòu)造器,super方法里寫幾個參數(shù)就可以表示調(diào)方法里寫幾個參數(shù)就可以表示調(diào)用的是父類的哪一個構(gòu)造器。用的是父類的哪一個構(gòu)造器。面向?qū)ο缶幊堂嫦驅(qū)ο缶?/p>

37、程n當(dāng)父類中沒有構(gòu)造方法或只需不帶參數(shù)的構(gòu)造方法當(dāng)父類中沒有構(gòu)造方法或只需不帶參數(shù)的構(gòu)造方法時,系統(tǒng)會在子類構(gòu)造器自動加上時,系統(tǒng)會在子類構(gòu)造器自動加上super語句,可語句,可以不顯式地添加對父類構(gòu)造器方法的調(diào)用,但假設(shè)以不顯式地添加對父類構(gòu)造器方法的調(diào)用,但假設(shè)父類中有帶參數(shù)的構(gòu)造器方法,那么,必需顯式在父類中有帶參數(shù)的構(gòu)造器方法,那么,必需顯式在構(gòu)造器中運用構(gòu)造器中運用super調(diào)用父類的帶參數(shù)的構(gòu)造器方調(diào)用父類的帶參數(shù)的構(gòu)造器方法,否那么編譯出錯。法,否那么編譯出錯。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊坛欣^性承繼性n承繼的目的:實現(xiàn)代碼重用。承繼的目的:實現(xiàn)代碼重用。n子類不能承繼父類中訪問權(quán)限為

38、子類不能承繼父類中訪問權(quán)限為private的成員變量的成員變量和方法。和方法。n子類可以承繼父類方法和成員變量,但它不能承繼構(gòu)子類可以承繼父類方法和成員變量,但它不能承繼構(gòu)造方法。造方法。n創(chuàng)建子類格式:創(chuàng)建子類格式: Public class SubClass extends SuperClass 訪問權(quán)限訪問權(quán)限 class class 類名類名 extends extends 父類父類 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊汤?-5:源程序名:源程序名Car Demo .java,是類的承繼。,是類的承繼。 class Car int car_number; void set_number(int

39、car_num) car_number=car_num; void show_number() System.out.println (My car No. is :+car_number); 承繼性承繼性面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘡lass Bus extends Car int capacity; void set_capacity(int bus_car_capacity) capacity=bus_car_capacity; void show_capacity() System.out.println(My capacity is: + capacity); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘡

40、lass CarDemo public static void main(String args) Bus DemoBus = new Bus(); DemoBus.set_number(6868); DemoBus.show_number(); DemoBus.set_capacity(30); DemoBus.show_capacity(); 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:承繼性承繼性面向?qū)ο缶幊堂嫦驅(qū)ο缶幊坦こ塘x務(wù): 點類點類 x坐標(biāo)和坐標(biāo)和y坐標(biāo)坐標(biāo)方法(獲取x和y的坐標(biāo)) 圓類圓類 x坐標(biāo)和坐標(biāo)和y坐標(biāo),半徑坐標(biāo),半徑r方法(獲取r)和(獲取面積) 圓柱類圓柱類 x坐標(biāo)和坐標(biāo)和y坐標(biāo),半徑坐標(biāo)

41、,半徑r,高,高h(yuǎn)方法(獲取h)和(計算體積)面向?qū)ο缶幊堂嫦驅(qū)ο缶幊潭鄳B(tài)性多態(tài)性n多態(tài)性表達(dá)在兩個方面:由方法重載實現(xiàn)的靜態(tài)多態(tài)多態(tài)性表達(dá)在兩個方面:由方法重載實現(xiàn)的靜態(tài)多態(tài)性編譯時多態(tài)和方法重寫實現(xiàn)的動態(tài)多態(tài)性運性編譯時多態(tài)和方法重寫實現(xiàn)的動態(tài)多態(tài)性運轉(zhuǎn)時多態(tài)。轉(zhuǎn)時多態(tài)。 n方法重寫:指方法的含義被重寫后替代方法重寫:指方法的含義被重寫后替代 。n子類經(jīng)過隱藏父類的成員變量和重寫父類的方法,可子類經(jīng)過隱藏父類的成員變量和重寫父類的方法,可以把父類的形狀和行為改動為本身的形狀和行為。以把父類的形狀和行為改動為本身的形狀和行為。n子類中重寫的方法和父類中被重寫的方法要具有一樣子類中重寫的方法和

42、父類中被重寫的方法要具有一樣的名字,一樣的參數(shù)表和一樣的前往類型,只是函數(shù)的名字,一樣的參數(shù)表和一樣的前往類型,只是函數(shù)體不同。體不同。n方法重寫時應(yīng)遵照的原那么:方法重寫時應(yīng)遵照的原那么:n改寫后的方法不能比被重寫的方法有更嚴(yán)厲的訪問權(quán)改寫后的方法不能比被重寫的方法有更嚴(yán)厲的訪問權(quán)限可以一樣。改寫后的方法不能比重寫的方法產(chǎn)限可以一樣。改寫后的方法不能比重寫的方法產(chǎn)生更多的例外。生更多的例外。 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮自行車的挪動和公路賽車的挪動都是靠外力來挪動自行車的挪動和公路賽車的挪動都是靠外力來挪動,二者是一樣的。公路賽車承繼了這一特點,但公,二者是一樣的。公路賽車承繼了這一特點,但公

43、路賽車的挪動速度就不一樣了,挪動的快慢就是由路賽車的挪動速度就不一樣了,挪動的快慢就是由它們各自挪動特性不一樣決議的,它們各自挪動特性不一樣決議的,面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮class bikenn/自行車的挪動速度自行車的挪動速度npublic void move()nnSystem.out.println(速度慢的速度慢的!);nn面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮public class racing_cycle extends biken/公路賽車的挪動速度公路賽車的挪動速度npublic void move()nnSystem.out.println(速度快的速度快的!);nn面向?qū)ο缶幊堂?/p>

44、向?qū)ο缶幊蘮public static void main(String args)nnracing_cycle rc = new racing_cycle(); /創(chuàng)建了一個公路賽車的對象創(chuàng)建了一個公路賽車的對象,對象援用為對象援用為rcnrc.move(); /執(zhí)行了執(zhí)行了move()方法方法nn面向?qū)ο缶幊堂嫦驅(qū)ο缶幊汤?-6:源程序名:源程序名Rewritex.java,,是方法的重寫的,是方法的重寫的例子。例子。 class SuperClass int x; void setF( ) x=0; System.out.println(Super的變量的變量x的值的值+x); 面向?qū)?/p>

45、象編程面向?qū)ο缶幊蘶oid setF( ) /重寫了父類的方法重寫了父類的方法 setF() x =6; System.out.println(Son的變量的變量x的值的值+x); class SubClass extends SuperClass int x;/隱藏了父類的變量隱藏了父類的變量x多態(tài)性多態(tài)性面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘡lass Rewritex public static void main(String args) SubClass Son = new SubClass (); Son.setF(); SuperClass Father= new SubClass (); F

46、ather.setF(); 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:多態(tài)性多態(tài)性面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮方法重載方法重載n方法重載是指同樣方法在不同的地方具有不同的方法重載是指同樣方法在不同的地方具有不同的含義。含義。n方法重載使一個類中可以有多個一樣名字的方法。方法重載使一個類中可以有多個一樣名字的方法。編譯器根據(jù)參數(shù)的不同來靜態(tài)確定調(diào)用相應(yīng)的方編譯器根據(jù)參數(shù)的不同來靜態(tài)確定調(diào)用相應(yīng)的方法。法。n方法重載中這些方法的參數(shù)必需不同,或是參數(shù)方法重載中這些方法的參數(shù)必需不同,或是參數(shù)的數(shù)量不同,或是參數(shù)的類型不同。的數(shù)量不同,或是參數(shù)的類型不同。n例例3-8:源程序名源程序名TestLoad.java,方法重載的

47、例,方法重載的例子。子。 多態(tài)性多態(tài)性/*定義一個方法重載的類定義一個方法重載的類*/class Load void receive(int i) / receive方法,帶有方法,帶有int類型參數(shù)類型參數(shù)1個個 System.out.print(Receive one data!:); System.out.println(i=+i); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?void receive(int x,int y) / receive方法,帶有方法,帶有int類型參數(shù)類型參數(shù)2個個 System.out.print(Receive two datas!:); System.out.print

48、ln(x=+x+,y=+y); void receive(double d) / receive方法,帶有方法,帶有double類型參數(shù)類型參數(shù)1個個 System.out.print(Receive one double data!:); System.out.println(d=+d); void receive(String s) / receive方法,帶有方法,帶有string類型參數(shù)類型參數(shù)1個個 System.out.print(Receive a sting!:); System.out.println(s=+s); 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?*主程序類主程序類*/ publi

49、c class TestLoad public static void main(String args) Load mo=new Load (); /創(chuàng)建對象創(chuàng)建對象mo mo.receive(1); /調(diào)用調(diào)用receive方法,帶方法,帶int類型參數(shù)類型參數(shù)1個個 mo.receive(2,3); /調(diào)用調(diào)用receive方法,帶方法,帶int類型參數(shù)類型參數(shù)2個個 mo.receive(3.14159); /調(diào)用調(diào)用receive方法,帶方法,帶double類型參數(shù)類型參數(shù)1個個 mo.receive(It is a Test!); /調(diào)用調(diào)用receive方法,帶方法,帶strin

50、g型參數(shù)型參數(shù)1個個 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:面向?qū)ο缶幊堂嫦驅(qū)ο缶幊坦こ塘x務(wù)n設(shè)計一個設(shè)計一個math類,經(jīng)過它可以實現(xiàn)整數(shù)的加法運類,經(jīng)過它可以實現(xiàn)整數(shù)的加法運算和實數(shù)的加法運算。算和實數(shù)的加法運算。n設(shè)計一個設(shè)計一個employee類,包括數(shù)據(jù)成員姓名,年類,包括數(shù)據(jù)成員姓名,年齡,工號,工資,構(gòu)造方法,齡,工號,工資,構(gòu)造方法,addsalary方法添方法添加工資加薪加工資加薪10%,list顯示信息。再設(shè)計一個顯示信息。再設(shè)計一個manager類,添加數(shù)據(jù)成員類,添加數(shù)據(jù)成員position,改寫,改寫addsalary方法添加工資加薪方法添加工資加薪20%。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊?.

51、5籠統(tǒng)類和接口籠統(tǒng)類和接口n籠統(tǒng)類見籠統(tǒng)類見Animal.java)n只給出籠統(tǒng)構(gòu)造,不給出每個成員函數(shù)的完好實只給出籠統(tǒng)構(gòu)造,不給出每個成員函數(shù)的完好實現(xiàn)的類?,F(xiàn)的類。n籠統(tǒng)方法:是指該方法只需方法闡明卻沒有方法籠統(tǒng)方法:是指該方法只需方法闡明卻沒有方法體。體。n用用abstract 關(guān)鍵字來修飾一個籠統(tǒng)類,用關(guān)鍵字來修飾一個籠統(tǒng)類,用abstract 關(guān)鍵字來修飾一個籠統(tǒng)方法。關(guān)鍵字來修飾一個籠統(tǒng)方法。n籠統(tǒng)類必需被承繼,籠統(tǒng)方法必需被重寫。籠統(tǒng)類必需被承繼,籠統(tǒng)方法必需被重寫。 n例例3-9源程序源程序Abstract.java,一個帶有籠統(tǒng)成員,一個帶有籠統(tǒng)成員函數(shù)的類。函數(shù)的類。 n

52、 abstract class A n n abstract void callme( );n void me( ) n n System.out.println(在在A的的me成員函數(shù)成員函數(shù)里里);n n 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊袒\統(tǒng)類籠統(tǒng)類class B extends A void callme( ) System.out.println(在在B的的callme成員函數(shù)里成員函數(shù)里); public class Abstract public static void main(String args) A a = new B( ); a.callme( ); a.me ( ); 運轉(zhuǎn)結(jié)

53、果:運轉(zhuǎn)結(jié)果:面向?qū)ο缶幊堂嫦驅(qū)ο缶幊袒\統(tǒng)類籠統(tǒng)類用關(guān)鍵字用關(guān)鍵字abstract修飾的類稱為籠統(tǒng)類修飾的類稱為籠統(tǒng)類 abstract class A /類類A為籠統(tǒng)類為籠統(tǒng)類 不能直接被實例化不能直接被實例化,因此普通作為其它類的父類因此普通作為其它類的父類,定義目的是提供可由其子類共享的普通方式。定義目的是提供可由其子類共享的普通方式。籠統(tǒng)類需求承繼籠統(tǒng)類需求承繼,子類根據(jù)本身需求擴展籠統(tǒng)類。子類根據(jù)本身需求擴展籠統(tǒng)類。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊袒\統(tǒng)類籠統(tǒng)類用關(guān)鍵字用關(guān)鍵字abstract修飾的方法稱為籠統(tǒng)方法修飾的方法稱為籠統(tǒng)方法abstract class A abstract int

54、 aa(int x,int y);/方法方法aa為籠統(tǒng)方法為籠統(tǒng)方法 籠統(tǒng)類中可以沒有籠統(tǒng)方法或某個方法不是籠統(tǒng)類中可以沒有籠統(tǒng)方法或某個方法不是籠統(tǒng)方法籠統(tǒng)方法,有籠統(tǒng)方法的類一定是籠統(tǒng)類有籠統(tǒng)方法的類一定是籠統(tǒng)類籠統(tǒng)籠統(tǒng)方法只能位于籠統(tǒng)類方法只能位于籠統(tǒng)類。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊探涌诮涌趎Shape.javanJava言語不支持多承繼性,即一個子類只能有一個言語不支持多承繼性,即一個子類只能有一個n 父類,但有時子類需求承繼多個父類的特性,因此,父類,但有時子類需求承繼多個父類的特性,因此,n 引入了接口。引入了接口。n接口接口(Interface),是一些籠統(tǒng)方法和常量的集合。,是一些

55、籠統(tǒng)方法和常量的集合。n接口的定義接口的定義n運用關(guān)鍵字運用關(guān)鍵字interface。n接口定義的普通方式為:接口定義的普通方式為:接口修飾符接口修飾符 interface extends 接口體接口體 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮public abstract class aaan/籠統(tǒng)類里的籠統(tǒng)方法籠統(tǒng)類里的籠統(tǒng)方法nabstract public void show();n/籠統(tǒng)類里的方法籠統(tǒng)類里的方法npublic int getMax()nn/定義定義int類型的私有變量類型的私有變量inint i = 123;nn/將變量將變量i前往出去并退出方法前往出去并退出方法nreturn i

56、;nn面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮public class test extends aaann public static void main(String args)n n test t=new test();n t.show();n n public void show()n n System.out.println(“實現(xiàn)了籠統(tǒng)類中的方法實現(xiàn)了籠統(tǒng)類中的方法);n n面向?qū)ο缶幊堂嫦驅(qū)ο缶幊探涌趎首先來舉一個例子,汽車的挪動就好比一個接口,首先來舉一個例子,汽車的挪動就好比一個接口,在以后消費的汽車中都遵照這個接口進(jìn)展制造。而在以后消費的汽車中都遵照這個接口進(jìn)展制造。而接口中只定義了汽車

57、挪動的方式,沒有詳細(xì)的去定接口中只定義了汽車挪動的方式,沒有詳細(xì)的去定義是怎樣進(jìn)展挪動的,所以接口就好比是一個規(guī)定義是怎樣進(jìn)展挪動的,所以接口就好比是一個規(guī)定。n接口修飾符接口修飾符 interface interface 接口稱號接口稱號n n/成員變量和方法的聲明成員變量和方法的聲明n 面向?qū)ο缶幊堂嫦驅(qū)ο缶幊蘮接口修飾符和類的修飾符是一樣的。接口修飾符和類的修飾符是一樣的。ninterfaceinterface是定義接口的關(guān)鍵字。是定義接口的關(guān)鍵字。n接口里的成員變量默以為接口里的成員變量默以為public static finalpublic static final類類型的型的n接口

58、不能聲明為接口不能聲明為finalfinal的,由于的,由于finalfinal類型的必需求類型的必需求實現(xiàn)。實現(xiàn)。n接口就是一個特殊的籠統(tǒng)類,籠統(tǒng)類里有籠統(tǒng)的方接口就是一個特殊的籠統(tǒng)類,籠統(tǒng)類里有籠統(tǒng)的方法和普通的方法,而接口里方法全為籠統(tǒng)的,需求法和普通的方法,而接口里方法全為籠統(tǒng)的,需求在其子類進(jìn)展詳細(xì)的方法實現(xiàn)。類就是一個產(chǎn)品的在其子類進(jìn)展詳細(xì)的方法實現(xiàn)。類就是一個產(chǎn)品的詳細(xì)功能闡明,而接口就是這些功能的簡要闡明。詳細(xì)功能闡明,而接口就是這些功能的簡要闡明。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊探涌诮涌趎 假設(shè)一個籠統(tǒng)類中的一切方法都是籠統(tǒng)的假設(shè)一個籠統(tǒng)類中的一切方法都是籠統(tǒng)的,就可以就可以將這個類

59、用另外一種方式來定義將這個類用另外一種方式來定義,也就是接口定義。也就是接口定義。n 接口是籠統(tǒng)方法和常量值的定義的集合接口是籠統(tǒng)方法和常量值的定義的集合,從本質(zhì)上從本質(zhì)上講,接口是一種特殊的籠統(tǒng)類講,接口是一種特殊的籠統(tǒng)類,這種籠統(tǒng)類中只包含這種籠統(tǒng)類中只包含常量和方法的定義常量和方法的定義,而沒有變量和方法的實現(xiàn)。而沒有變量和方法的實現(xiàn)。 可以運用可以運用extends來承繼接口的常量和籠統(tǒng)方法,但它與類來承繼接口的常量和籠統(tǒng)方法,但它與類中的中的extends不同,它可以承繼有多個父接口不同,它可以承繼有多個父接口(多重承繼多重承繼),各,各父接口間用逗號隔開。父接口間用逗號隔開。 接口

60、中的一切常量必需是接口中的一切常量必需是public static final,方法必需是,方法必需是public abstract,這是系統(tǒng)默許的,不論他在定義接口時,寫,這是系統(tǒng)默許的,不論他在定義接口時,寫不寫修飾符都是一樣的。不寫修飾符都是一樣的。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊探涌诘亩x接口的定義n接口修飾符接口修飾符n接口修飾符為接口訪問權(quán)限,有接口修飾符為接口訪問權(quán)限,有public和缺省兩種和缺省兩種形狀。形狀。npublic形狀形狀 :用:用public指明恣意類均可以運用這個指明恣意類均可以運用這個接口。接口。n缺省形狀:缺省形狀: 在缺省情況下,只需與該接口定義在在缺省情況下,只

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論