Java語言培訓(xùn)03Java語言高級(jí)特征_第1頁
Java語言培訓(xùn)03Java語言高級(jí)特征_第2頁
Java語言培訓(xùn)03Java語言高級(jí)特征_第3頁
Java語言培訓(xùn)03Java語言高級(jí)特征_第4頁
Java語言培訓(xùn)03Java語言高級(jí)特征_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、3千浪科技千浪科技千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司(www.wave1000.com)第五章java語言高級(jí)特征周甫周甫 email:email:千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-2目標(biāo)描述描述staticstatic變量,方法和初始程序變量,方法和初始程序描述描述finalfinal類,方法和變量類,方法和變量列出訪問控制級(jí)別列出訪問控制級(jí)別描述如何應(yīng)用收集和反射描述如何應(yīng)用收集和反射在在javajava軟件程序中,確認(rèn)軟件程序中,確認(rèn)staticstatic方法和變量方法和變量publicpublic,privateprivate,pro

2、tectedprotected和缺省變量和缺省變量使用使用abstractabstract類和方法類和方法解釋如何以及何時(shí)使用內(nèi)部類解釋如何以及何時(shí)使用內(nèi)部類解釋如何以及何時(shí)使用接口解釋如何以及何時(shí)使用接口描述描述=和和equals()equals()之間的不同之間的不同 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-3類(static)變量在所有類的實(shí)例中共享在所有類的實(shí)例中共享 可以被標(biāo)記為可以被標(biāo)記為publicpublic或或private private 通過類名訪問通過類名訪問千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter

3、3-4類(static)方法staticstatic方法可以用類名而不是對(duì)象來訪問方法可以用類名而不是對(duì)象來訪問 沒有沒有thisthis值值 staticstatic成員不能訪問非成員不能訪問非staticstatic成員成員靜態(tài)方法不能被覆蓋成非靜態(tài)。靜態(tài)方法不能被覆蓋成非靜態(tài)。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-5靜態(tài)初始化在在static blockstatic block中,類可以包含方法程序中不存在的代碼。中,類可以包含方法程序中不存在的代碼。 當(dāng)類被裝載時(shí),靜態(tài)代碼塊只執(zhí)行一次。當(dāng)類被裝載時(shí),靜態(tài)代碼塊只執(zhí)行一次。 類中不同的靜態(tài)塊按它

4、們?cè)陬愔谐霈F(xiàn)的順序被執(zhí)行。類中不同的靜態(tài)塊按它們?cè)陬愔谐霈F(xiàn)的順序被執(zhí)行。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-6關(guān)鍵字final finalfinal類不能被繼承類不能被繼承finalfinal方法不能被覆蓋方法不能被覆蓋finalfinal變量是常數(shù)變量是常數(shù) 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-7抽象類聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類 。通過關(guān)鍵字通過關(guān)鍵字abstractabstract進(jìn)行標(biāo)記將類聲明為抽象進(jìn)行標(biāo)記將類聲明為抽象 。一個(gè)一個(gè)abstra

5、ctabstract類可以包含非抽象方法和變量類可以包含非抽象方法和變量 。不能創(chuàng)建不能創(chuàng)建abstractabstract類的實(shí)例。類的實(shí)例??梢詣?chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。子類的一個(gè)實(shí)例。 不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-8練習(xí):求最大數(shù)練習(xí):求最大數(shù)練習(xí)一:編寫一個(gè)類,提供一個(gè)求最大數(shù)的方法練習(xí)一:編寫一個(gè)類,提供一個(gè)求最大數(shù)的方法練習(xí)二:編寫練習(xí)二:編寫2 2個(gè)類,其中:個(gè)類,其中:一

6、個(gè)類為抽象類一個(gè)類為抽象類(max)(max),類中有,類中有2 2個(gè)方法,一個(gè)為抽象方法,個(gè)方法,一個(gè)為抽象方法,求求2 2個(gè)整數(shù)的最大數(shù),另外一個(gè)為已實(shí)現(xiàn)的方法求浮點(diǎn)數(shù)的個(gè)整數(shù)的最大數(shù),另外一個(gè)為已實(shí)現(xiàn)的方法求浮點(diǎn)數(shù)的最大數(shù)最大數(shù)另一個(gè)類為抽象類的子類另一個(gè)類為抽象類的子類(maxint(maxint) ),實(shí)現(xiàn)抽象方法,實(shí)現(xiàn)抽象方法最后做一個(gè)執(zhí)行類最后做一個(gè)執(zhí)行類(handlemax(handlemax) ),分別執(zhí)行抽象類的,分別執(zhí)行抽象類的2 2個(gè)方法個(gè)方法千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-9接 口 接口是特殊的抽象類接口是特殊的抽象類 。

7、在接口中,所有方法都是抽象的。在接口中,所有方法都是抽象的。 多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。 接口中的變量就是常量。接口中的變量就是常量。千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-10練習(xí):求圓面積練習(xí):求圓面積編寫一個(gè)接口類編寫一個(gè)接口類( (circlecircle) ),定義一個(gè),定義一個(gè)finalfinal的常量的常量pipi,并初,并初始化為始化為3.14,3.14,和一個(gè)計(jì)算圓面積的抽象方法和一個(gè)計(jì)算圓面積的抽象方法getareagetarea(),(),這個(gè)這個(gè)方法有一個(gè)方法有一個(gè)doubledoubl

8、e類型的參數(shù),傳入半徑;類型的參數(shù),傳入半徑;編寫一個(gè)類編寫一個(gè)類( (mymycirclecircle) )實(shí)現(xiàn)接口實(shí)現(xiàn)接口circle.circle.在執(zhí)行類在執(zhí)行類( (handlecirclehandlecircle) )中計(jì)算出半徑為中計(jì)算出半徑為5.0d5.0d的圓面積并打的圓面積并打印印. .圓面積圓面積 = = 半徑半徑 * * 半徑半徑 * * pipi千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-11高級(jí)訪問控制 四種訪問修飾符:四種訪問修飾符:publicpublic、protectedprotected、(default)(default

9、)、privateprivate變量和方法可以是四個(gè)訪問級(jí)別中的一個(gè)變量和方法可以是四個(gè)訪問級(jí)別中的一個(gè) 類可以在類可以在publicpublic或或defaultdefault級(jí)別。級(jí)別。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-12訪問性標(biāo)準(zhǔn)修飾符修飾符 同類同類 同包同包 子類子類 通用性通用性 - 公共公共 是是 是是 是是 是是 受保護(hù)受保護(hù) 是是 是是 是是 缺省缺省 是是 是是 私有私有 是是 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-13=運(yùn)算符與equals()方法用于簡(jiǎn)單類型進(jìn)行等值判斷。用于簡(jiǎn)單類型

10、進(jìn)行等值判斷。用于引用類型表示是否指向同一對(duì)象用于引用類型表示是否指向同一對(duì)象equals()equals()方法用表示兩個(gè)對(duì)象的值是否相等方法用表示兩個(gè)對(duì)象的值是否相等千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-14tostring()方法用來將一個(gè)對(duì)象轉(zhuǎn)換成用來將一個(gè)對(duì)象轉(zhuǎn)換成stringstring表示表示objectobject類定義缺省的類定義缺省的tostringtostring()()方法,它返回類名稱和它的方法,它返回類名稱和它的引用的地址引用的地址 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-15內(nèi)部類 一個(gè)

11、類定義被放到另一個(gè)類定義里叫內(nèi)部類。一個(gè)類定義被放到另一個(gè)類定義里叫內(nèi)部類。內(nèi)部類,又叫嵌套類內(nèi)部類,又叫嵌套類 。內(nèi)部類可訪問它們所嵌套的類的成員。內(nèi)部類可訪問它們所嵌套的類的成員。 內(nèi)部類的名稱必須與所嵌套的類不同。內(nèi)部類的名稱必須與所嵌套的類不同。 只有內(nèi)部類可以被聲明為只有內(nèi)部類可以被聲明為privateprivate或或protectedprotected,以便防護(hù)它,以便防護(hù)它們不受來自外部類的訪問。們不受來自外部類的訪問。 內(nèi)部類不能聲明任何內(nèi)部類不能聲明任何staticstatic成員。成員。千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-16包裝

12、類 用來將基本數(shù)據(jù)元素看作對(duì)象用來將基本數(shù)據(jù)元素看作對(duì)象 每個(gè)每個(gè)javajava基本數(shù)據(jù)類型在基本數(shù)據(jù)類型在java.langjava.lang包中都有一個(gè)相應(yīng)的包中都有一個(gè)相應(yīng)的wrapper classwrapper class: 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 包裝類包裝類 booleanboolean boolean boolean byte bytebyte byte char charector char charector short short short short int int integer integer long long long long float float f

13、loat float double double double double千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-17java集合類api集合集合apiapi分以下接口:分以下接口: collectioncollection:元素沒有順序,允許重復(fù):元素沒有順序,允許重復(fù) setset:元素沒有順序,不允許重復(fù):元素沒有順序,不允許重復(fù) listlist:元素有順序,允許重復(fù):元素有順序,允許重復(fù) mapmap:key-valuekey-value對(duì)對(duì)vector,bits,stack,hashtable,linkedlist, hashset, vec

14、tor,bits,stack,hashtable,linkedlist, hashset, arrayset, arraylistarrayset, arraylist等等千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-18vector類 vectorvector類為與各種元素類型的動(dòng)態(tài)數(shù)組一起工作提供方法。類為與各種元素類型的動(dòng)態(tài)數(shù)組一起工作提供方法。 vectorvector類的構(gòu)造函數(shù)是類的構(gòu)造函數(shù)是 public vector()-public vector()-構(gòu)造一個(gè)空矢量構(gòu)造一個(gè)空矢量 public vector(int initialcapacit

15、ypublic vector(int initialcapacity)-)-構(gòu)造一個(gè)具有具體貯存構(gòu)造一個(gè)具有具體貯存容量的空矢量容量的空矢量 public vector(int initialcapacity,int public vector(int initialcapacity,int capacityincrementcapacityincrement)-)-構(gòu)造具有具體貯存容量和具體容量增量的構(gòu)造具有具體貯存容量和具體容量增量的空矢量??帐噶?。千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-19vector類的成員變量protected int capa

16、cityincrementprotected int capacityincrement - -增加量。(如為增加量。(如為0 0,每,每次需要增加時(shí),緩沖區(qū)的大小成倍。)次需要增加時(shí),緩沖區(qū)的大小成倍。)protected int elementcountprotected int elementcount - -緩沖區(qū)中元素的數(shù)量。緩沖區(qū)中元素的數(shù)量。protected object elementdataprotected object elementdata-元素被貯存的緩沖區(qū)。元素被貯存的緩沖區(qū)。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-20ve

17、ctor常用方法public final intpublic final int size()- size()-返回矢量中元素的數(shù)量。返回矢量中元素的數(shù)量。 public final boolean contains(object elempublic final boolean contains(object elem)-)-如果指定對(duì)象是集如果指定對(duì)象是集合的值,返回真。合的值,返回真。public final int indexof (object elempublic final int indexof (object elem)-)-從起始位置搜索指定的從起始位置搜索指定的對(duì)象,然后

18、將一個(gè)索引返回到它當(dāng)中(如果元素未找到為對(duì)象,然后將一個(gè)索引返回到它當(dāng)中(如果元素未找到為-1-1)。它使)。它使用對(duì)象的用對(duì)象的equals()equals()方法,因此,如果對(duì)象不覆蓋方法,因此,如果對(duì)象不覆蓋objectobject的的equals()equals()方法,它只比較對(duì)象引用,不比較對(duì)象內(nèi)容。方法,它只比較對(duì)象引用,不比較對(duì)象內(nèi)容。public void addelement(objectpublic void addelement(object o), o),在向量末尾處增加一個(gè)元素在向量末尾處增加一個(gè)元素 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技ch

19、apter3-21public finalsynchronized object elementat (intpublic finalsynchronized object elementat (int index)- index)-在指定的在指定的索引中返回元素。如果索引中返回元素。如果 indexindex無效,它拋出無效,它拋出arrayindexoutofvoundsexceptionarrayindexoutofvoundsexception。 public final synchronized void setelementat (intpublic final synchroni

20、zed void setelementat (int index)- index)-以以指定對(duì)象在指定索引中替代指定元素。如果指定對(duì)象在指定索引中替代指定元素。如果 indexindex無效,它拋出無效,它拋出arrayindexoutofvoundsexceptionarrayindexoutofvoundsexception。 public final synchronized void removeelementat (intpublic final synchronized void removeelementat (int index)- index)-刪除指定索引中的元素。如果刪除

21、指定索引中的元素。如果 indexindex無效,它拋出無效,它拋出arrayindexoutofvoundsexceptionarrayindexoutofvoundsexception。 public final synchronized void addelement (object objpublic final synchronized void addelement (object obj)-)-附加附加指定對(duì)象作為矢量的最后元素。指定對(duì)象作為矢量的最后元素。 public final synchronized void insertelementat (object public final synchronized void insertelementat (object obj,intobj,int index)- index)-插入指定對(duì)象作為指定索引中的一個(gè)元素,上移具有同插入指定對(duì)象作為指定索引中的一個(gè)元素,上移具有同等或更大索引的所有元素。如果等或更大索引的所有元素。如果indexindex無效,它拋出無效,它拋出arrayindexoutofvoundsexceptionarrayindexoutofvoundsexception。 千浪商務(wù)智

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論