版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、SISEJava語言程序設(shè)計(jì)實(shí)用教程Java語言程序設(shè)計(jì)實(shí)用教程SISEJava語言程序設(shè)計(jì)實(shí)用教程第7章 Java的基本類庫SISEJava語言程序設(shè)計(jì)實(shí)用教程3本章學(xué)習(xí)要點(diǎn):l理解Java包的概念l掌握J(rèn)ava類庫的結(jié)構(gòu)l學(xué)會(huì)Java API規(guī)范技術(shù)文檔的使用SISEJava語言程序設(shè)計(jì)實(shí)用教程7.1 Java包SISEJava語言程序設(shè)計(jì)實(shí)用教程java包l Java語言中每一個(gè)類都會(huì)生成一個(gè)類文件.class。當(dāng)編寫一個(gè)比較大的Java項(xiàng)目時(shí),它會(huì)生成許多的.class文件。為了有效管理這些.class文件,Java提供了包機(jī)制。一個(gè)包就相當(dāng)于操作系統(tǒng)的文件夾,包中的類就相當(dāng)于文件 l
2、 包的作用:q合理組織程序文件q提供名字空間q實(shí)現(xiàn)更多層面的訪問控制l 包層次:通過包的層次性,可以實(shí)現(xiàn):把相關(guān)的的類組合進(jìn)一個(gè)包,把相關(guān)的包組合進(jìn)一個(gè)更大的包l 如在SDK中,大多數(shù)被分組進(jìn)名為java的核心包中,我們也可以創(chuàng)建自己的包和包含進(jìn)此包的相關(guān)的類。同一包中類名是唯一的 SISEJava語言程序設(shè)計(jì)實(shí)用教程Java包格式qpackage 包名;包名; q如:如:package mypackage;q class myClassq q SISEJava語言程序設(shè)計(jì)實(shí)用教程java包的目錄層次l 包的目錄層次(java類的物理存放)l java解釋器要求類文件物理存放的匹配包層次的目錄
3、層次中。如在Windows系統(tǒng)中,類Circle.class位于chapter4.Shape.shape2D包中,即類的完整引用為:chapter4.shape.shape2D.Cirle,那么,Circle類的物理位置必為目錄chapter4shapeshape2DCircle.classSISEJava語言程序設(shè)計(jì)實(shí)用教程包的使用與Classpath環(huán)境變量l使用import引入包中的類;l當(dāng)運(yùn)行java應(yīng)用程序時(shí),java解釋器必須找到被引用的類。在默認(rèn)情況下,java會(huì)在JDK類的安裝目錄的基目錄中,或在你所創(chuàng)建類的當(dāng)前目錄中查找。如把包對(duì)應(yīng)的目錄層次放在其它地方,則通過CLASSPA
4、TH環(huán)境變量來尋找,即使用CLASSPATH來包含java搜索類的目錄類表。 SISEJava語言程序設(shè)計(jì)實(shí)用教程import語句 l import語句位于package語句之后,類的定義之前 ;l 格式:import package1.package2.(class-name | *); l package1是最外層的名稱,package2是由圓點(diǎn)(.)分隔的第 二層包的名稱l 采用*號(hào)不影響程序的運(yùn)行性能,但會(huì)影響編譯速度。指明具體類比引入整個(gè)包更為合理。 SISEJava語言程序設(shè)計(jì)實(shí)用教程類成員的訪問控制修飾符 l private:只能在本類中對(duì)其進(jìn)行訪問;l 默認(rèn)默認(rèn):類成員的默認(rèn)訪
5、問控制修飾符,此成員能被同一包中的其他類訪問;l protected:允許被同一包中的類和子類訪問(子類是否為同一包沒有限制);l public:允許任何包中的任何類對(duì)其進(jìn)行訪問。 SISEJava語言程序設(shè)計(jì)實(shí)用教程包內(nèi)的訪問示意圖SISEJava語言程序設(shè)計(jì)實(shí)用教程包間的訪問示意圖SISEJava語言程序設(shè)計(jì)實(shí)用教程類成員的訪問控制修飾符(P139,例7-1) l private:只能在本類中對(duì)其進(jìn)行訪問;l 默認(rèn)默認(rèn):類成員的默認(rèn)訪問控制修飾符,此成員能被同一包中的其他類訪問;l protected:允許被同一包中的類和子類訪問(子類是否為同一包沒有限制);l public:允許任何包中
6、的任何類對(duì)其進(jìn)行訪問。 SISEJava語言程序設(shè)計(jì)實(shí)用教程7.2 Java類庫的結(jié)構(gòu)SISEJava語言程序設(shè)計(jì)實(shí)用教程回顧:Java 2平臺(tái)版本 l J2SE(Java 2 Standard Edition, Java 2平臺(tái)標(biāo)準(zhǔn)版):適于創(chuàng)建普通臺(tái)式電腦上的應(yīng)用系統(tǒng),例如桌面系統(tǒng)、包括C/S結(jié)構(gòu)l J2ME(Java 2 Micro Edition, Java 2平臺(tái)微型版):針對(duì)嵌入式設(shè)備及消費(fèi)類電器的應(yīng)用系統(tǒng),例如:如手機(jī)和掌上電腦的操作系統(tǒng)等,它使用了一系列更小的包,可以升級(jí)到J2SE和J2EEl J2EE(Java 2平臺(tái)企業(yè)版):適于創(chuàng)建服務(wù)器端的大型應(yīng)用軟件和服務(wù)系統(tǒng),例如面
7、向企業(yè)應(yīng)用、計(jì)算的平臺(tái)SISEJava語言程序設(shè)計(jì)實(shí)用教程J2SE類庫結(jié)構(gòu) (P141)l javal javaxl orgl sunl Java基礎(chǔ)的類庫文件為rt.jar,請(qǐng)大家打開該文件,觀察其組織結(jié)構(gòu)(演示)SISEJava語言程序設(shè)計(jì)實(shí)用教程java核心包中的常用子包l (1 1)java.langjava.lang包:包:是是JavaJava語言平臺(tái)中最核心的包,提供語言平臺(tái)中最核心的包,提供了一些了一些JavaJava程序設(shè)計(jì)中最基礎(chǔ)的類,在編程時(shí),該包不需程序設(shè)計(jì)中最基礎(chǔ)的類,在編程時(shí),該包不需使用使用importimport語句導(dǎo)入,包中的所有類由系統(tǒng)自動(dòng)加載。語句導(dǎo)入,包中
8、的所有類由系統(tǒng)自動(dòng)加載。l (2 2)java.utiljava.util包:主要包含大量的實(shí)用工具類,如包:主要包含大量的實(shí)用工具類,如DateDate、CalendarCalendar、RandomRandom等。等。l (3 3)java.iojava.io包:包:主要包含與輸入輸出相關(guān)的類與接口,主要包含與輸入輸出相關(guān)的類與接口,在本章的輸入輸出流與文件一節(jié)中將介紹其中的一些常用在本章的輸入輸出流與文件一節(jié)中將介紹其中的一些常用類的使用。類的使用。l (4 4)包:主要包含用于網(wǎng)絡(luò)編程的相關(guān)的類與接包:主要包含用于網(wǎng)絡(luò)編程的相關(guān)的類與接口???。l (5 5)java.sqljava.s
9、ql包:包:主要包含用于數(shù)據(jù)庫連接與處理的相關(guān)主要包含用于數(shù)據(jù)庫連接與處理的相關(guān)的類與接口。的類與接口。l (6 6)java.awtjava.awt包:用于開發(fā)圖形用戶界面的早期版本。包:用于開發(fā)圖形用戶界面的早期版本。SISEJava語言程序設(shè)計(jì)實(shí)用教程J2EE類庫結(jié)構(gòu) (P148)l javaxl 由J2EE應(yīng)用服務(wù)器提供,jar的名字可能不一樣(演示)SISEJava語言程序設(shè)計(jì)實(shí)用教程J2ME類庫結(jié)構(gòu)(P152) l CDC(Connected Device Configuration):用于內(nèi)存及電力等資源相對(duì)豐富的信息家電產(chǎn)品,如電視機(jī)頂盒、網(wǎng)絡(luò)電視等,所用的Java虛擬機(jī)JVM
10、為CVMl CLDC(Connected Limited Device Configuration):用于內(nèi)存及電力等資源相對(duì)貧乏的信息家電產(chǎn)品,如手機(jī)、PDA等移動(dòng)設(shè)備,所用的Java虛擬機(jī)JVM為KVMl 對(duì)于各類IC卡,提供JavaCard API,運(yùn)行在CardVM的虛擬機(jī)上SISEJava語言程序設(shè)計(jì)實(shí)用教程CLDClCLDC包含了一個(gè)基本的J2ME運(yùn)行環(huán)境,其中包括虛擬機(jī)和核心的java類庫lCLDC的核心是虛擬機(jī)和核心類庫虛擬機(jī)運(yùn)行在設(shè)備的操作系統(tǒng)之上,對(duì)下層的硬件提供必要的兼容和支持;核心類庫提供操作系統(tǒng)所需的最小的軟件需求lCLDC對(duì)J2SE類庫進(jìn)行了大量的簡化,其類庫只保留
11、了java規(guī)范中定義的最核心的3個(gè)包,即java.io、java.lang 和java.util,并重新定義了一個(gè)新的包javax.microeditionSISEJava語言程序設(shè)計(jì)實(shí)用教程7.3 java.lang包中的常用類SISEJava語言程序設(shè)計(jì)實(shí)用教程基本語言和系統(tǒng)類(P153)l Object:是類層次結(jié)構(gòu)的根類,Java中所有的類都是通過直接或間接地繼承java.lang.Object得到的。如果一個(gè)類沒有extends一個(gè)父類,則Java會(huì)自動(dòng)用Object作為其父類l Class:它的實(shí)例表示正在運(yùn)行的Java應(yīng)用程序中的類和接口。Class.forName(xxx.xx
12、.xx)作用是要求JVM查找并加載指定的類,返回的是一個(gè)類。l Cloneable:是一個(gè)空接口,體為空的接口稱為標(biāo)志接口。他對(duì)java系統(tǒng)有特殊的意義,java系統(tǒng)要求,可復(fù)制的類需要實(shí)現(xiàn)cloneable接口SISEJava語言程序設(shè)計(jì)實(shí)用教程基本語言和系統(tǒng)類(續(xù))l ClassLoader:是一個(gè)抽象類,負(fù)責(zé)加載類的對(duì)象。定義自己的類是一個(gè)抽象類,負(fù)責(zé)加載類的對(duì)象。定義自己的類加載器時(shí)通常需要繼承該類。加載器時(shí)通常需要繼承該類。l SecurityManager:允許應(yīng)用程序?qū)崿F(xiàn)安全策略的類。例如對(duì)于可能允許應(yīng)用程序?qū)崿F(xiàn)安全策略的類。例如對(duì)于可能不安全的操作該如何操作不安全的操作該如何操
13、作l System:是由是由final修飾的類修飾的類,不能被不能被實(shí)例化實(shí)例化,其包含一些有用的靜其包含一些有用的靜態(tài)類字段和靜態(tài)方法。例如:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出流,態(tài)類字段和靜態(tài)方法。例如:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出流,快速復(fù)制數(shù)組等快速復(fù)制數(shù)組等l Runtime:每個(gè)每個(gè)JavaJava應(yīng)用程序都有一個(gè)應(yīng)用程序都有一個(gè)RuntimeRuntime類實(shí)例,使應(yīng)用程序類實(shí)例,使應(yīng)用程序能夠與其運(yùn)行環(huán)境相連接,以獲得運(yùn)行時(shí)的信息能夠與其運(yùn)行環(huán)境相連接,以獲得運(yùn)行時(shí)的信息l Process:由由ProcessBuilder.startProcessBuilder.start()()和
14、和Runtime.execRuntime.exec方法創(chuàng)建一方法創(chuàng)建一個(gè)本機(jī)進(jìn)程,并返回個(gè)本機(jī)進(jìn)程,并返回ProcessProcess的一個(gè)實(shí)例。一個(gè)的一個(gè)實(shí)例。一個(gè)ProcessProcess對(duì)象可以使對(duì)象可以使用用getErrorStreamgetErrorStream( )( )獲取該進(jìn)程錯(cuò)誤信息獲取該進(jìn)程錯(cuò)誤信息l Compiler:主要支持主要支持JavaJava到本機(jī)代碼的編譯器及相關(guān)服務(wù)到本機(jī)代碼的編譯器及相關(guān)服務(wù)SISEJava語言程序設(shè)計(jì)實(shí)用教程使用示例:使用示例: Class類與類與Runtime類類q 通過Class類與Runtime類中的方法可以獲得運(yùn)行時(shí)的信息,如當(dāng)前
15、類每、超類名、包名以及內(nèi)存空間,操作系統(tǒng)名稱等??聪吕?。 SISEJava語言程序設(shè)計(jì)實(shí)用教程q public class Run1q public static void main (String args) q String str = new String();q System.out.println(本類名本類名 =+str.getClass().getName();q System.out.println(超類名超類名 =+str.getClass().getSuperclass().getName();q System.out.println(包包 名名 =+str.getClas
16、s().getPackage().getName();q System.out.println(操作系統(tǒng)操作系統(tǒng)=+System.getProperty();q System.out.println(Java版本版本=+System.getProperty(java.vm.version);q System.out.println(內(nèi)存總量內(nèi)存總量=+Runtime.getRuntime().totalMemory();q System.out.println(剩余空間剩余空間=+Runtime.getRuntime().freeMemory();q q SISEJava語言程序
17、設(shè)計(jì)實(shí)用教程錯(cuò)誤和異常類l 何謂異常(例外)?特殊的運(yùn)行錯(cuò)誤對(duì)象,對(duì)應(yīng)著Java語言特定的運(yùn)行處理機(jī)制。l Java中的每一個(gè)異常都是java.lang包中的Throwable類或其子類的實(shí)例對(duì)象l Throwable類有兩個(gè)直接的子類q錯(cuò)誤類Errorq不可恢復(fù)和不可捕獲,如系統(tǒng)崩潰等q異常Exceptionq可以捕獲且可能被恢復(fù),如下標(biāo)越界SISEJava語言程序設(shè)計(jì)實(shí)用教程Exception類的繼承結(jié)構(gòu)Throwable類Error類Exception類RuntimeExceptionIllegalAccessExceptionClassNotFoundExceptionAWTExcep
18、tionIOExceptionInterruptedExceptionSISEJava語言程序設(shè)計(jì)實(shí)用教程基本數(shù)據(jù)類型的包裝類基本數(shù)據(jù)類型的包裝類(P155,表,表7-4) l 在在JavaJava中類型分成兩類:中類型分成兩類:基本類型和引用類型?;绢愋秃鸵妙愋汀 每個(gè)基本類型都有一個(gè)相應(yīng)的位于每個(gè)基本類型都有一個(gè)相應(yīng)的位于java.langjava.lang包中的包包中的包裝類。每個(gè)包裝類使你能夠像操作對(duì)象一樣操作基本類型。裝類。每個(gè)包裝類使你能夠像操作對(duì)象一樣操作基本類型。l 基本類型基本類型booleanboolean、charchar、bytebyte、shortshort、intint、longlong、floatfloat和和doubledouble對(duì)應(yīng)的包裝類:對(duì)應(yīng)的包裝類:BooleanBoolean、CharChar、ByteByte、ShortShort、IntInt、LongLong、FloatFloat和和DoubleDouble。l 每個(gè)包裝類均聲明為每個(gè)包裝類均聲明為finalfinal,因此它們的方法隱式地為,因此它們的方法隱式地為finalfina
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度交通行業(yè)勞務(wù)派遣管理規(guī)范范本2篇
- 自愿性與強(qiáng)制性之間-中國農(nóng)村合作醫(yī)療的制度嵌入性與可持續(xù)性發(fā)展分析
- 臨床胸腔閉式引流護(hù)理要點(diǎn)
- 陜西省寶雞市鳳翔區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末質(zhì)量檢測地理試卷(含答案)
- 二零二五年度擔(dān)保合同標(biāo)的特性與案例分析3篇
- 二零二五年度商鋪?zhàn)赓U合同-含環(huán)保材料及綠色裝修2篇
- Unit7 How much?(說課稿)-2024-2025學(xué)年譯林版(三起)英語四年級(jí)上冊(cè)
- 二零二五年度房地產(chǎn)經(jīng)紀(jì)實(shí)務(wù)培訓(xùn)第二十六講經(jīng)紀(jì)機(jī)構(gòu)品牌建設(shè)合同3篇
- 貴州盛華職業(yè)學(xué)院《生物醫(yī)學(xué)信號(hào)檢測與處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆塔城地區(qū)(2024年-2025年小學(xué)六年級(jí)語文)部編版質(zhì)量測試(上學(xué)期)試卷及答案
- 恢復(fù)駕駛資格科目一汽車類考試題庫被吊銷補(bǔ)考用450題
- 人工智能導(dǎo)論智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工程大學(xué)
- 單位工會(huì)五年工作總結(jié)報(bào)告
- 醫(yī)院感染監(jiān)測清單
- 社區(qū)老年人項(xiàng)目計(jì)劃書
- 《1.我又長大了一歲》教學(xué)課件∣泰山版
- 斷裂力學(xué)-1緒論課件
- 深基坑工程驗(yàn)收表
- 醫(yī)學(xué)交流課件:RCT的基本概念及原則(PPT 37頁)
- SLZ 549-2012 用水審計(jì)技術(shù)導(dǎo)則(試行)
- qes三體系審核培訓(xùn)ppt課件
評(píng)論
0/150
提交評(píng)論