Java語言程序的設(shè)計實用教程第七講Java的基本類庫_第1頁
Java語言程序的設(shè)計實用教程第七講Java的基本類庫_第2頁
Java語言程序的設(shè)計實用教程第七講Java的基本類庫_第3頁
Java語言程序的設(shè)計實用教程第七講Java的基本類庫_第4頁
Java語言程序的設(shè)計實用教程第七講Java的基本類庫_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、SISEJava語言程序設(shè)計實用教程Java語言程序設(shè)計實用教程SISEJava語言程序設(shè)計實用教程第七講 Java的基本類庫SISEJava語言程序設(shè)計實用教程3本章學(xué)習(xí)要點:l理解Java包的概念l掌握Java類庫的結(jié)構(gòu)l學(xué)會Java API規(guī)范技術(shù)文檔的使用SISEJava語言程序設(shè)計實用教程7.1 Java包SISEJava語言程序設(shè)計實用教程java包l Java語言中每一個類都會生成一個類文件.class。當(dāng)編寫一個比較大的Java項目時,它會生成許多的.class文件。為了有效管理這些.class文件,Java提供了包機制。一個包就相當(dāng)于操作系統(tǒng)的文件夾,包中的類就相當(dāng)于文件 l

2、 包的作用:l 合理組織程序文件l 提供名字空間l 實現(xiàn)更多層面的訪問控制l 包層次:通過包的層次性,可以實現(xiàn):把相關(guān)的的類組合進一個包,把相關(guān)的包組合進一個更大的包l 如在SDK中,大多數(shù)被分組進名為java的核心包中,我們也可以創(chuàng)建自己的包和包含進此包的相關(guān)的類。同一包中類名是唯一的 SISEJava語言程序設(shè)計實用教程Java包格式qpackage 包名;包名; q如:如:package mypackage;q class myClassq q SISEJava語言程序設(shè)計實用教程java包的目錄層次l 包的目錄層次java類的物理存放)l java解釋器要求類文件物理存放的匹配包層次的

3、目錄層次中。如在Windows系統(tǒng)中,類Circle.class位于chapter4.Shape.shape2D包中,即類的完整引用為:chapter4.shape.shape2D.Cirle,那么,Circle類的物理位置必為目錄chapter4shapeshape2DCircle.classSISEJava語言程序設(shè)計實用教程包的使用與Classpath環(huán)境變量l使用import引入包中的類;l當(dāng)運行java應(yīng)用程序時,java解釋器必須找到被引用的類。在默認情況下,java會在JDK類的安裝目錄的基目錄中,或在你所創(chuàng)建類的當(dāng)前目錄中查找。如把包對應(yīng)的目錄層次放在其它地方,則通過CLASS

4、PATH環(huán)境變量來尋找,即使用CLASSPATH來包含java搜索類的目錄類表。 SISEJava語言程序設(shè)計實用教程import語句 l import語句位于package語句之后,類的定義之前 ;l 格式:import package1.package2.(class-name | *); l package1是最外層的名稱,package2是由圓點(.)分隔的第 二層包的名稱l 采用*號不影響程序的運行性能,但會影響編譯速度。指明具體類比引入整個包更為合理。 SISEJava語言程序設(shè)計實用教程類成員的訪問控制修飾符 l private:只能在本類中對其進行訪問;l 默認:類成員的默認訪

5、問控制修飾符,此成員能被同一包中的其他類訪問;l protected:允許被同一包中的類和子類訪問子類是否為同一包沒有限制);l public:允許任何包中的任何類對其進行訪問。 SISEJava語言程序設(shè)計實用教程包內(nèi)的訪問示意圖SISEJava語言程序設(shè)計實用教程包間的訪問示意圖SISEJava語言程序設(shè)計實用教程類成員的訪問控制修飾符(P139,例7-1) l private:只能在本類中對其進行訪問;l 默認:類成員的默認訪問控制修飾符,此成員能被同一包中的其他類訪問;l protected:允許被同一包中的類和子類訪問子類是否為同一包沒有限制);l public:允許任何包中的任何類

6、對其進行訪問。 SISEJava語言程序設(shè)計實用教程7.2 Java類庫的結(jié)構(gòu)SISEJava語言程序設(shè)計實用教程回憶:Java 2平臺版本 l J2SEJava 2 Standard Edition, Java 2平臺標(biāo)準(zhǔn)版):適于創(chuàng)建普通臺式電腦上的應(yīng)用系統(tǒng),例如桌面系統(tǒng)、包括C/S結(jié)構(gòu)l J2MEJava 2 Micro Edition, Java 2平臺微型版):針對嵌入式設(shè)備及消費類電器的應(yīng)用系統(tǒng),例如:如手機和掌上電腦的操作系統(tǒng)等,它使用了一系列更小的包,可以升級到J2SE和J2EEl J2EEJava 2平臺企業(yè)版):適于創(chuàng)建服務(wù)器端的大型應(yīng)用軟件和服務(wù)系統(tǒng),例如面向企業(yè)應(yīng)用、計

7、算的平臺SISEJava語言程序設(shè)計實用教程J2SE類庫結(jié)構(gòu) (P141)l javal javaxl orgl sunl Java基礎(chǔ)的類庫文件為rt.jar,請大家打開該文件,觀察其組織結(jié)構(gòu)演示)SISEJava語言程序設(shè)計實用教程java核心包中的常用子包l (1 1java.langjava.lang包:是包:是JavaJava語言平臺中最核心的包,提供語言平臺中最核心的包,提供了一些了一些JavaJava程序設(shè)計中最基礎(chǔ)的類,在編程時,該包不需程序設(shè)計中最基礎(chǔ)的類,在編程時,該包不需使用使用importimport語句導(dǎo)入,包中的所有類由系統(tǒng)自動加載。語句導(dǎo)入,包中的所有類由系統(tǒng)自動

8、加載。l (2 2java.utiljava.util包:主要包含大量的實用工具類,如包:主要包含大量的實用工具類,如DateDate、CalendarCalendar、RandomRandom等。等。l (3 3java.iojava.io包:主要包含與輸入輸出相關(guān)的類與接口,包:主要包含與輸入輸出相關(guān)的類與接口,在本章的輸入輸出流與文件一節(jié)中將介紹其中的一些常用在本章的輸入輸出流與文件一節(jié)中將介紹其中的一些常用類的使用。類的使用。l (4 4javajava包:主要包含用于網(wǎng)絡(luò)編程的相關(guān)的類與接口。包:主要包含用于網(wǎng)絡(luò)編程的相關(guān)的類與接口。l (5 5java.sqljava.sql包:主

9、要包含用于數(shù)據(jù)庫連接與處理的相關(guān)包:主要包含用于數(shù)據(jù)庫連接與處理的相關(guān)的類與接口。的類與接口。l (6 6java.awtjava.awt包:用于開發(fā)圖形用戶界面的早期版本。包:用于開發(fā)圖形用戶界面的早期版本。SISEJava語言程序設(shè)計實用教程J2EE類庫結(jié)構(gòu) (P148)l javaxl 由J2EE應(yīng)用服務(wù)器提供,jar的名字可能不一樣演示)SISEJava語言程序設(shè)計實用教程J2ME類庫結(jié)構(gòu)P152) l CDC(Connected Device Configuration):用于內(nèi)存及電力等資源相對豐富的信息家電產(chǎn)品,如電視機頂盒、網(wǎng)絡(luò)電視等,所用的Java虛擬機JVM為CVMl CL

10、DC(Connected Limited Device Configuration):用于內(nèi)存及電力等資源相對貧乏的信息家電產(chǎn)品,如手機、PDA等移動設(shè)備,所用的Java虛擬機JVM為KVMl 對于各類IC卡,提供JavaCard API,運行在CardVM的虛擬機上SISEJava語言程序設(shè)計實用教程CLDClCLDC包含了一個基本的J2ME運行環(huán)境,其中包括虛擬機和核心的java類庫lCLDC的核心是虛擬機和核心類庫虛擬機運行在設(shè)備的操作系統(tǒng)之上,對下層的硬件提供必要的兼容和支持;核心類庫提供操作系統(tǒng)所需的最小的軟件需求lCLDC對J2SE類庫進行了大量的簡化,其類庫只保留了java規(guī)范中

11、定義的最核心的3個包,即java.io、java.lang 和java.util,并重新定義了一個新的包javax.microeditionSISEJava語言程序設(shè)計實用教程7.3 java.lang包中的常用類SISEJava語言程序設(shè)計實用教程基本語言和系統(tǒng)類P153)l Object:是類層次結(jié)構(gòu)的根類,Java中所有的類都是通過直接或間接地繼承java.lang.Object得到的。如果一個類沒有extends一個父類,則Java會自動用Object作為其父類l Class:它的實例表示正在運行的Java應(yīng)用程序中的類和接口。Class.forNamexxx.xx.xx作用是要求JV

12、M查找并加載指定的類,返回的是一個類。l Cloneable:是一個空接口,體為空的接口稱為標(biāo)志接口。他對java系統(tǒng)有特殊的意義,java系統(tǒng)要求,可復(fù)制的類需要實現(xiàn)cloneable接口SISEJava語言程序設(shè)計實用教程基本語言和系統(tǒng)類續(xù))l ClassLoader:是一個抽象類,負責(zé)加載類的對象。定義自己的類加載器時通常需要繼承該類。l SecurityManager:允許應(yīng)用程序?qū)崿F(xiàn)安全策略的類。例如對于可能不安全的操作該如何操作l System:是由final修飾的類,不能被實例化,其包含一些有用的靜態(tài)類字段和靜態(tài)方法。例如:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯誤輸出流,快速復(fù)制數(shù)組等l Run

13、time:每個Java應(yīng)用程序都有一個Runtime類實例,使應(yīng)用程序能夠與其運行環(huán)境相連接,以獲得運行時的信息l Process:由ProcessBuilder.start()和Runtime.exec方法創(chuàng)建一個本機進程,并返回Process的一個實例。一個Process對象可以使用getErrorStream( )獲取該進程錯誤信息l Compiler:主要支持Java到本機代碼的編譯器及相關(guān)服務(wù)SISEJava語言程序設(shè)計實用教程使用示例:使用示例: Class類與類與Runtime類類q 通過Class類與Runtime類中的方法可以獲得運行時的信息,如當(dāng)前類每、超類名、包名以及內(nèi)存

14、空間,操作系統(tǒng)名稱等??聪吕?。 SISEJava語言程序設(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.getClass().getPackag

15、e().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語言程序設(shè)計實用教程錯誤和異常類l

16、 何謂異常例外)?特殊的運行錯誤對象,對應(yīng)著Java語言特定的運行處理機制。l Java中的每一個異常都是java.lang包中的Throwable類或其子類的實例對象l Throwable類有兩個直接的子類l 錯誤類Errorl 不可恢復(fù)和不可捕獲,如系統(tǒng)崩潰等l 異常Exceptionl 可以捕獲且可能被恢復(fù),如下標(biāo)越界SISEJava語言程序設(shè)計實用教程Exception類的繼承結(jié)構(gòu)Throwable類Error類Exception類RuntimeExceptionIllegalAccessExceptionClassNotFoundExceptionAWTExceptionIOExce

17、ptionInterruptedExceptionSISEJava語言程序設(shè)計實用教程基本數(shù)據(jù)類型的包裝類基本數(shù)據(jù)類型的包裝類P155,表,表7-4) l 在在JavaJava中類型分成兩類:基本類型和引用類型。中類型分成兩類:基本類型和引用類型。l 每個基本類型都有一個相應(yīng)的位于每個基本類型都有一個相應(yīng)的位于java.langjava.lang包中的包包中的包裝類。每個包裝類使你能夠像操作對象一樣操作基本類型。裝類。每個包裝類使你能夠像操作對象一樣操作基本類型。l 基本類型基本類型booleanboolean、charchar、bytebyte、shortshort、intint、longl

18、ong、floatfloat和和doubledouble對應(yīng)的包裝類:對應(yīng)的包裝類:BooleanBoolean、CharChar、ByteByte、ShortShort、IntInt、LongLong、FloatFloat和和DoubleDouble。l 每個包裝類均聲明為每個包裝類均聲明為finalfinal,因此它們的方法隱式地為,因此它們的方法隱式地為finalfinal方法,并且不能重載這些方法。許多處理基本類型方法,并且不能重載這些方法。許多處理基本類型的方法一般聲明為類型包裝類的靜態(tài)方法。如果程序需要的方法一般聲明為類型包裝類的靜態(tài)方法。如果程序需要操作基本類型的值,可以通過類名來調(diào)用這些靜態(tài)方法。操作基本類型的值,可以通過類名來調(diào)用這些靜態(tài)方法。SISEJava語言程序設(shè)計實用教程包裝類的使用舉例包裝類的使用舉例l 例如,以下代碼是將一個字符串轉(zhuǎn)變?yōu)橐粋€double值:l String str=”28.8”;lnumber1=Double.parseDouble(str);l 其中parseDouble為Double類型包裝類的一個靜態(tài)方法,我們直接通過類名.靜態(tài)方法名來進行調(diào)用。將str這個參數(shù)中的字符串轉(zhuǎn)變?yōu)镈ouble型的數(shù)據(jù)。 l 見P155例7-2SISEJava語言程序設(shè)計實用教程Java中的反射類和垃圾回收中的反射類和垃圾回收l 通過反射功能

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論