版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3千浪科技千浪科技千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司(www.wave1000.com)第五章java語言高級特征周甫周甫 email:email:千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-2目標描述描述staticstatic變量,方法和初始程序變量,方法和初始程序描述描述finalfinal類,方法和變量類,方法和變量列出訪問控制級別列出訪問控制級別描述如何應(yīng)用收集和反射描述如何應(yīng)用收集和反射在在javajava軟件程序中,確認軟件程序中,確認staticstatic方法和變量方法和變量publicpublic,privateprivate,pro
2、tectedprotected和缺省變量和缺省變量使用使用abstractabstract類和方法類和方法解釋如何以及何時使用內(nèi)部類解釋如何以及何時使用內(nèi)部類解釋如何以及何時使用接口解釋如何以及何時使用接口描述描述=和和equals()equals()之間的不同之間的不同 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-3類(static)變量在所有類的實例中共享在所有類的實例中共享 可以被標記為可以被標記為publicpublic或或private private 通過類名訪問通過類名訪問千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter
3、3-4類(static)方法staticstatic方法可以用類名而不是對象來訪問方法可以用類名而不是對象來訪問 沒有沒有thisthis值值 staticstatic成員不能訪問非成員不能訪問非staticstatic成員成員靜態(tài)方法不能被覆蓋成非靜態(tài)。靜態(tài)方法不能被覆蓋成非靜態(tài)。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-5靜態(tài)初始化在在static blockstatic block中,類可以包含方法程序中不存在的代碼。中,類可以包含方法程序中不存在的代碼。 當(dāng)類被裝載時,靜態(tài)代碼塊只執(zhí)行一次。當(dāng)類被裝載時,靜態(tài)代碼塊只執(zhí)行一次。 類中不同的靜態(tài)塊按它
4、們在類中出現(xiàn)的順序被執(zhí)行。類中不同的靜態(tài)塊按它們在類中出現(xiàn)的順序被執(zhí)行。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-6關(guān)鍵字final finalfinal類不能被繼承類不能被繼承finalfinal方法不能被覆蓋方法不能被覆蓋finalfinal變量是常數(shù)變量是常數(shù) 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-7抽象類聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類 。通過關(guān)鍵字通過關(guān)鍵字abstractabstract進行標記將類聲明為抽象進行標記將類聲明為抽象 。一個一個abstra
5、ctabstract類可以包含非抽象方法和變量類可以包含非抽象方法和變量 。不能創(chuàng)建不能創(chuàng)建abstractabstract類的實例。類的實例??梢詣?chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。子類的一個實例。 不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-8練習(xí):求最大數(shù)練習(xí):求最大數(shù)練習(xí)一:編寫一個類,提供一個求最大數(shù)的方法練習(xí)一:編寫一個類,提供一個求最大數(shù)的方法練習(xí)二:編寫練習(xí)二:編寫2 2個類,其中:個類,其中:一
6、個類為抽象類一個類為抽象類(max)(max),類中有,類中有2 2個方法,一個為抽象方法,個方法,一個為抽象方法,求求2 2個整數(shù)的最大數(shù),另外一個為已實現(xiàn)的方法求浮點數(shù)的個整數(shù)的最大數(shù),另外一個為已實現(xiàn)的方法求浮點數(shù)的最大數(shù)最大數(shù)另一個類為抽象類的子類另一個類為抽象類的子類(maxint(maxint) ),實現(xiàn)抽象方法,實現(xiàn)抽象方法最后做一個執(zhí)行類最后做一個執(zhí)行類(handlemax(handlemax) ),分別執(zhí)行抽象類的,分別執(zhí)行抽象類的2 2個方法個方法千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-9接 口 接口是特殊的抽象類接口是特殊的抽象類 。
7、在接口中,所有方法都是抽象的。在接口中,所有方法都是抽象的。 多繼承性可通過實現(xiàn)這樣的接口而獲得。多繼承性可通過實現(xiàn)這樣的接口而獲得。 接口中的變量就是常量。接口中的變量就是常量。千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-10練習(xí):求圓面積練習(xí):求圓面積編寫一個接口類編寫一個接口類( (circlecircle) ),定義一個,定義一個finalfinal的常量的常量pipi,并初,并初始化為始化為3.14,3.14,和一個計算圓面積的抽象方法和一個計算圓面積的抽象方法getareagetarea(),(),這個這個方法有一個方法有一個doubledoubl
8、e類型的參數(shù),傳入半徑;類型的參數(shù),傳入半徑;編寫一個類編寫一個類( (mymycirclecircle) )實現(xiàn)接口實現(xiàn)接口circle.circle.在執(zhí)行類在執(zhí)行類( (handlecirclehandlecircle) )中計算出半徑為中計算出半徑為5.0d5.0d的圓面積并打的圓面積并打印印. .圓面積圓面積 = = 半徑半徑 * * 半徑半徑 * * pipi千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-11高級訪問控制 四種訪問修飾符:四種訪問修飾符:publicpublic、protectedprotected、(default)(default
9、)、privateprivate變量和方法可以是四個訪問級別中的一個變量和方法可以是四個訪問級別中的一個 類可以在類可以在publicpublic或或defaultdefault級別。級別。 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-12訪問性標準修飾符修飾符 同類同類 同包同包 子類子類 通用性通用性 - 公共公共 是是 是是 是是 是是 受保護受保護 是是 是是 是是 缺省缺省 是是 是是 私有私有 是是 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-13=運算符與equals()方法用于簡單類型進行等值判斷。用于簡單類型
10、進行等值判斷。用于引用類型表示是否指向同一對象用于引用類型表示是否指向同一對象equals()equals()方法用表示兩個對象的值是否相等方法用表示兩個對象的值是否相等千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-14tostring()方法用來將一個對象轉(zhuǎn)換成用來將一個對象轉(zhuǎn)換成stringstring表示表示objectobject類定義缺省的類定義缺省的tostringtostring()()方法,它返回類名稱和它的方法,它返回類名稱和它的引用的地址引用的地址 千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-15內(nèi)部類 一個
11、類定義被放到另一個類定義里叫內(nèi)部類。一個類定義被放到另一個類定義里叫內(nèi)部類。內(nèi)部類,又叫嵌套類內(nèi)部類,又叫嵌套類 。內(nèi)部類可訪問它們所嵌套的類的成員。內(nèi)部類可訪問它們所嵌套的類的成員。 內(nèi)部類的名稱必須與所嵌套的類不同。內(nèi)部類的名稱必須與所嵌套的類不同。 只有內(nèi)部類可以被聲明為只有內(nèi)部類可以被聲明為privateprivate或或protectedprotected,以便防護它,以便防護它們不受來自外部類的訪問。們不受來自外部類的訪問。 內(nèi)部類不能聲明任何內(nèi)部類不能聲明任何staticstatic成員。成員。千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-16包裝
12、類 用來將基本數(shù)據(jù)元素看作對象用來將基本數(shù)據(jù)元素看作對象 每個每個javajava基本數(shù)據(jù)類型在基本數(shù)據(jù)類型在java.langjava.lang包中都有一個相應(yīng)的包中都有一個相應(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對對vector,bits,stack,hashtable,linkedlist, hashset, vec
14、tor,bits,stack,hashtable,linkedlist, hashset, arrayset, arraylistarrayset, arraylist等等千浪商務(wù)智能科技公司千浪商務(wù)智能科技公司()千浪科技千浪科技chapter3-18vector類 vectorvector類為與各種元素類型的動態(tài)數(shù)組一起工作提供方法。類為與各種元素類型的動態(tài)數(shù)組一起工作提供方法。 vectorvector類的構(gòu)造函數(shù)是類的構(gòu)造函數(shù)是 public vector()-public vector()-構(gòu)造一個空矢量構(gòu)造一個空矢量 public vector(int initialcapacit
15、ypublic vector(int initialcapacity)-)-構(gòu)造一個具有具體貯存構(gòu)造一個具有具體貯存容量的空矢量容量的空矢量 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,每,每次需要增加時,緩沖區(qū)的大小成倍。)次需要增加時,緩沖區(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)-)-如果指定對象是集如果指定對象是集合的值,返回真。合的值,返回真。public final int indexof (object elempublic final int indexof (object elem)-)-從起始位置搜索指定的從起始位置搜索指定的對象,然后
18、將一個索引返回到它當(dāng)中(如果元素未找到為對象,然后將一個索引返回到它當(dāng)中(如果元素未找到為-1-1)。它使)。它使用對象的用對象的equals()equals()方法,因此,如果對象不覆蓋方法,因此,如果對象不覆蓋objectobject的的equals()equals()方法,它只比較對象引用,不比較對象內(nèi)容。方法,它只比較對象引用,不比較對象內(nèi)容。public void addelement(objectpublic void addelement(object o), o),在向量末尾處增加一個元素在向量末尾處增加一個元素 千浪商務(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)-以以指定對象在指定索引中替代指定元素。如果指定對象在指定索引中替代指定元素。如果 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)-)-附加附加指定對象作為矢量的最后元素。指定對象作為矢量的最后元素。 public final synchronized void insertelementat (object public final synchronized void insertelementat (object obj,intobj,int index)- index)-插入指定對象作為指定索引中的一個元素,上移具有同插入指定對象作為指定索引中的一個元素,上移具有同等或更大索引的所有元素。如果等或更大索引的所有元素。如果indexindex無效,它拋出無效,它拋出arrayindexoutofvoundsexceptionarrayindexoutofvoundsexception。 千浪商務(wù)智
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度采礦設(shè)備維修保養(yǎng)與升級合同3篇
- 2024年自動化冷凍庫租賃
- 橋梁工程實習(xí)報告范文5篇
- 高中學(xué)生歷史學(xué)習(xí)調(diào)查報告
- 老舊小區(qū)改造項目可行性研究報告
- 2025年度租賃合同變更合同模板:租賃合同修改協(xié)議3篇
- 2024版林木買賣協(xié)議書
- 2025年度藝術(shù)大賽參賽者作品保密合同3篇
- 湖北理工學(xué)院《電磁場與微波技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 洛陽職業(yè)技術(shù)學(xué)院《土木工程試驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 校服服務(wù)方案投標方案
- 養(yǎng)老機構(gòu)安全管理培訓(xùn)課件
- (附答案)2024公需課《百縣千鎮(zhèn)萬村高質(zhì)量發(fā)展工程與城鄉(xiāng)區(qū)域協(xié)調(diào)發(fā)展》試題廣東公需科
- T-CAME 59-2023 醫(yī)院消毒供應(yīng)中心建設(shè)與運行管理標準
- 4s店財務(wù)工作總結(jié)
- 2024外研版初中英語單詞表匯總(七-九年級)中考復(fù)習(xí)必背
- 《海上風(fēng)電場工程巖土試驗規(guī)程》(NB/T 10107-2018)
- 高中新校區(qū)辦學(xué)規(guī)劃方案
- T-ACEF 115-2023 高鹽有機廢水處理應(yīng)用技術(shù)指南
- 腎積水護理查房
- 無人機駕駛培訓(xùn)班合作協(xié)議
評論
0/150
提交評論