資源描述:
《java2實(shí)用教程課件(第3版第4章)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第4章 類、對(duì)象和接口4.1編程語言的幾個(gè)發(fā)展階段4.2類4.3對(duì)象4.4static關(guān)鍵字4.5this關(guān)鍵字4.6包4.7訪問權(quán)限4.8類的繼承4.9對(duì)象的上轉(zhuǎn)型對(duì)象4.10多態(tài)性4.11abstract類和abstract方法4.12super關(guān)鍵字4.13接口4.14內(nèi)部類4.15匿名類4.16異常類4.17Class類4.18基本類型的類包裝4.19反編譯和文檔生成器4.20jar文件4.1編程語言的幾個(gè)發(fā)展階段機(jī)器語言(如匯編語言)計(jì)算機(jī)處理信息的早期語言是所謂的機(jī)器語言,這種語言中的指令都是由0,1組成的序列,稱這樣的序列為一條機(jī)器指令。過程語言語言把代碼組成叫做過程或函數(shù)的
2、塊。每個(gè)塊的目標(biāo)是完成某個(gè)任務(wù),例如,一個(gè)C的源程序就是由若干個(gè)書寫形式互相獨(dú)立的函數(shù)組成。面向?qū)ο缶幊堂嫦驅(qū)ο缶幊讨饕w現(xiàn)下列三個(gè)特性:1.封裝性2.繼承3.多態(tài)Java語言是面向?qū)ο笳Z言,它的源程序是由若干個(gè)類組成,源文件是擴(kuò)展名為.java的文本文件4.2類類是組成Java程序的基本要素。類封裝了一類對(duì)象的狀態(tài)和方法。類是用來定義對(duì)象的模板。類的實(shí)現(xiàn)包括兩部分:類聲明和類體。1.類聲明classPeople{…}“classPeople”叫做類聲明;“People”是類名。習(xí)慣上類名的第一個(gè)字母大寫,但這不是必須的。2.類體寫類的目的是為了描述一類事物共有的屬性和功能,描述過程由類體
3、來實(shí)現(xiàn)。類聲明之后的一對(duì)大括號(hào)“{”,“}”以及它們之間的內(nèi)容稱做類體,大括號(hào)之間的內(nèi)容稱做類體的內(nèi)容。類體的內(nèi)容由兩部分構(gòu):一部分是變量的定義,用來刻畫屬性;另一部分是方法的定義,用來刻畫功能。class梯形{float上底,下底,高,laderArea;//變量定義部分float計(jì)算面積()//方法定義{laderArea=(上底+下底)*高/2.0f;returnladerArea;}void修改高(floath)//方法定義{高=h;}}3.成員變量和局部變量我們已經(jīng)知道類體分為兩部分。變量定義部分所定義的變量被稱為類的成員變量。在方法體中定義的變量和方法的參數(shù)被稱為局部變量。成員
4、變量在整個(gè)類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效。成員變量又分為實(shí)例成員變量(簡稱實(shí)例變量)和類變量(也稱靜態(tài)變量).如果成員變量的類型前面加上關(guān)鍵字static,這樣的成員變量稱做是類變量或靜態(tài)變量。如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,即這個(gè)成員變量在這個(gè)方法內(nèi)暫時(shí)失效.如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏。這時(shí)如果想在該方法內(nèi)使用成員變量,必須使用關(guān)鍵字this。class三角形{floatsideA,sideB,sideC,lengthSum;voidsetSide(floatsideA,floatsideB,floatsideC){th
5、is.sideA=sideA;this.sideB=sideB;this.sideC=sideC;}}this.sideA,this.sideB,this.sideC就分別表示成員變量sideA,sideB,sideC4.方法我們已經(jīng)知道一個(gè)類的類體由兩部分組成:變量的定義和方法的定義。方法的定義包括兩部分:方法聲明和方法體。方法參數(shù)在整個(gè)方法內(nèi)有效,方法內(nèi)定義的局部變量從它定義的位置之后開始有效。如果局部變量的定義是在一個(gè)復(fù)合語句中,那么該局部變量的有效范圍是該復(fù)合語句,即僅在該復(fù)合語句中有效,如果局部變量的定義是在一個(gè)循環(huán)語句中,那么該局部變量的有效范圍是該循環(huán)語句,即僅在該循環(huán)語句中
6、有效.寫一個(gè)方法和C語言中寫一個(gè)函數(shù)類似,只不過在這里稱做方法5.方法重載方法重載的意思是:一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。classArea{floatgetArea(floatr){return3.14f*r*r;}doublegetArea(floatx,inty){returnx*y;}floatgetArea(intx,floaty){returnx*y;}doublegetArea(floatx,floaty,floatz){return(x*x+y*y+z*z)*2.0;}}6.構(gòu)造方法構(gòu)造方法是一
7、種特殊方法,它的名字必須與它所在的類的名字完全相同,而且沒有類型,構(gòu)造方法也可以重載。class梯形{float上底,下底,高;梯形(){上底=60;下底=100;高=20;}梯形(floatx,inty,floath){上底=x;下底=y;高=h;}}7.類方法和實(shí)例方法類中的方法也可分為實(shí)例方法和類方法.方法聲明時(shí),方法類型前面不加關(guān)鍵字static的是實(shí)例方法、加關(guān)鍵字static的是類方法。構(gòu)造方法是特殊的方法,