Java語言培訓-03-Java語言高級特征_第1頁
Java語言培訓-03-Java語言高級特征_第2頁
Java語言培訓-03-Java語言高級特征_第3頁
Java語言培訓-03-Java語言高級特征_第4頁
Java語言培訓-03-Java語言高級特征_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章Java語言高級特征周甫Email:zoof@263.net目標描述static變量,方法和初始程序描述final類,方法和變量列出訪問控制級別描述如何應用收集和反射在Java軟件程序中,確認static方法和變量public,private,protected和缺省變量使用abstract類和方法解釋如何以及何時使用內(nèi)部類解釋如何以及何時使用接口描述==和equals()之間的不同

類(static)變量在所有類的實例中共享可以被標記為public或private通過類名訪問類(static)方法static方法可以用類名而不是對象來訪問沒有this值static成員不能訪問非static成員靜態(tài)方法不能被覆蓋成非靜態(tài)。

靜態(tài)初始化在staticblock中,類可以包含方法程序中不存在的代碼。當類被裝載時,靜態(tài)代碼塊只執(zhí)行一次。類中不同的靜態(tài)塊按它們在類中出現(xiàn)的順序被執(zhí)行。

關鍵字final

final類不能被繼承final方法不能被覆蓋final變量是常數(shù)

抽象類聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類。通過關鍵字abstract進行標記將類聲明為抽象。一個abstract類可以包含非抽象方法和變量。不能創(chuàng)建abstract類的實例。可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。

練習:求最大數(shù)練習一:編寫一個類,提供一個求最大數(shù)的方法練習二:編寫2個類,其中:一個類為抽象類(Max),類中有2個方法,一個為抽象方法,求2個整數(shù)的最大數(shù),另外一個為已實現(xiàn)的方法求浮點數(shù)的最大數(shù)另一個類為抽象類的子類(MaxInt),實現(xiàn)抽象方法最后做一個執(zhí)行類(HandleMax),分別執(zhí)行抽象類的2個方法接口

接口是特殊的抽象類。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的變量就是常量。練習:求圓面積編寫一個接口類(Circle),定義一個final的常量PI,并初始化為3.14,和一個計算圓面積的抽象方法getArea(),這個方法有一個double類型的參數(shù),傳入半徑;編寫一個類(MyCircle)實現(xiàn)接口Circle.在執(zhí)行類(HandleCircle)中計算出半徑為5.0d的圓面積并打印.圓面積=半徑*半徑*PI高級訪問控制

四種訪問修飾符:public、protected、(default)、private變量和方法可以是四個訪問級別中的一個類可以在public或default級別。

訪問性標準修飾符同類同包子類通用性---------------------------------------------------

公共是是是是受保護是是是缺省是是私有是

==運算符與equals()方法==用于簡單類型進行等值判斷。==用于引用類型表示是否指向同一對象equals()方法用表示兩個對象的值是否相等toString()方法用來將一個對象轉(zhuǎn)換成String表示Object類定義缺省的toString()方法,它返回類名稱和它的引用的地址內(nèi)部類

一個類定義被放到另一個類定義里叫內(nèi)部類。內(nèi)部類,又叫嵌套類。內(nèi)部類可訪問它們所嵌套的類的成員。內(nèi)部類的名稱必須與所嵌套的類不同。只有內(nèi)部類可以被聲明為private或protected,以便防護它們不受來自外部類的訪問。內(nèi)部類不能聲明任何static成員。包裝類用來將基本數(shù)據(jù)元素看作對象每個Java基本數(shù)據(jù)類型在Java.lang包中都有一個相應的wrapperclass:基本數(shù)據(jù)類型包裝類

booleanBoolean

byteBytecharCharectorshortShortintIntegerlongLongfloatFloatdoubleDoubleJava集合類API集合API分以下接口:Collection:元素沒有順序,允許重復Set:元素沒有順序,不允許重復List:元素有順序,允許重復Map:Key-Value對Vector,Bits,Stack,Hashtable,LinkedList,HashSet,ArraySet,ArrayList等Vector類

Vector類為與各種元素類型的動態(tài)數(shù)組一起工作提供方法。Vector類的構(gòu)造函數(shù)是publicVector()-構(gòu)造一個空矢量publicVector(intinitialCapacity)-構(gòu)造一個具有具體貯存容量的空矢量publicVector(intinitialCapacity,intcapacityIncrement)-構(gòu)造具有具體貯存容量和具體容量增量的空矢量。Vector類的成員變量protectedintcapacityIncrement-增加量。(如為0,每次需要增加時,緩沖區(qū)的大小成倍。)protectedintelementCount-緩沖區(qū)中元素的數(shù)量。protectedObjectelementData[]-元素被貯存的緩沖區(qū)。Vector常用方法publicfinalintsize()-返回矢量中元素的數(shù)量。publicfinalbooleancontains(Objectelem)-如果指定對象是集合的值,返回真。publicfinalintindexOf(Objectelem)-從起始位置搜索指定的對象,然后將一個索引返回到它當中(如果元素未找到為-1)。它使用對象的equals()方法,因此,如果對象不覆蓋Object的equals()方法,它只比較對象引用,不比較對象內(nèi)容。publicvoidaddElement(Objecto),在向量末尾處增加一個元素

publicfinalsynchronizedObjectelementAt(intindex)-在指定的索引中返回元素。如果index無效,它拋出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidsetElementAt(intindex)-以指定對象在指定索引中替代指定元素。如果index無效,它拋出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidremoveElementAt(intindex)-刪除指定索引中的元素。如果index無效,它拋出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidaddElement(Objectobj)-附加指定對象作為矢量的最后元素。

publicfinalsynchronizedvoidinsertElementAt(Objectobj,intindex)-插入指定對象作為指定索引中的一個元素,上移具有同等或更大索引的所有元素。如果index無效,它拋出ArrayIndexOutOfVoundsException。

練習:Vector的用法練習一:建立一個User類,包含(age,name)2個私有屬性及訪問(set/get)方法,實例化3個User對象,并將這3個對象存入到一個Vector中,最后將這Vector打印出來.練習二:在練習一的基礎上,修改Handle類,在下標2處插入一個元素(add(index,o)方法),然后將下標為0的元素刪除練習三:用List

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論