版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、2010-1-101Java面向?qū)ο蟪绦蛟O計面向?qū)ο蟪绦蛟O計 第第4章章類與對象 2010-1-102主要內(nèi)容主要內(nèi)容類類對象對象參數(shù)傳值參數(shù)傳值對象組合對象組合static關鍵字關鍵字this關鍵字關鍵字包包import語句語句jar文件文件難點難點參數(shù)傳值與對象組合參數(shù)傳值與對象組合包和包和import語句語句導讀導讀2010-1-1034.1 編程語言的幾個發(fā)展階段編程語言的幾個發(fā)展階段 面向機器語言面向機器語言 面向過程語言面向過程語言 面向?qū)ο笳Z言面向?qū)ο笳Z言 面向?qū)ο缶幊讨饕w現(xiàn)下列三個特性 封裝性 繼承 多態(tài) 2010-1-1044.2 類類 類類是組成是組成JavaJava程序
2、的基本要素。類封裝了程序的基本要素。類封裝了一類對象的狀態(tài)和方法。類是用來定義對象的一類對象的狀態(tài)和方法。類是用來定義對象的模板。模板。 類的實現(xiàn)包括兩部分:類聲明和類體。基類的實現(xiàn)包括兩部分:類聲明和類體?;靖袷綖椋罕靖袷綖椋篶lass class 類名類名 類體的內(nèi)容類體的內(nèi)容 2010-1-1054.2.1 類聲明類聲明 類聲明類聲明 :class 類名類名 如:class People”和“class 動物”稱作類聲明;“People”和“動物”分別是類名。 給類命名時,遵守下列編程風格(這不是語法要求給類命名時,遵守下列編程風格(這不是語法要求的,但應當遵守):的,但應當遵守):1
3、如果類名使用拉丁字母,那么名字的首字母使用大寫字母,如。 2類名最好容易識別、見名知意。當類名由幾個“單詞”復合而成時,每個單詞的首字母使用大寫。 2010-1-1064.2.2 類體類體 類聲明之后的一對大括號類聲明之后的一對大括號“”,“”以及它以及它們之間的內(nèi)容稱作類體,大括號之間的內(nèi)容稱作們之間的內(nèi)容稱作類體,大括號之間的內(nèi)容稱作類體的內(nèi)容。類體的內(nèi)容。 類體的內(nèi)容由兩部分構(gòu):一部分是變量的聲明,類體的內(nèi)容由兩部分構(gòu):一部分是變量的聲明,用來刻畫屬性;另一部分是方法的定義,用來刻用來刻畫屬性;另一部分是方法的定義,用來刻畫功能。畫功能。 2010-1-1074.2.3 成員變量和局部變
4、量成員變量和局部變量 類體中類體中變量聲明部分所聲明的變量被稱作類的成員變量。在方法體中聲明的變量和方法的參數(shù)被稱作局部變量。 1變量的類型:變量的類型:成員變量和局部變量的類型可以是Java中的任何一種數(shù)據(jù)類型,包括基本類型:整型、浮點型、字符型;引用類型:數(shù)組、對象和接口(對象和接口見后續(xù)內(nèi)容)。2變量的有效范圍:變量的有效范圍:成員變量在整個類內(nèi)都有效,局部變量只在聲明它的方法內(nèi)有效。方法參數(shù)在整個方法內(nèi)有效,方法內(nèi)的局部變量從聲明它的位置之后開始有效。3實例變量與類變量:實例變量與類變量:在聲明成員變量時,用關鍵字static給予修飾的稱作類變量,否則稱作實例變量(類變量也稱為stat
5、ic變量,靜態(tài)變量)。4成員變量的隱藏:成員變量的隱藏:如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,即這個成員變量在這個方法內(nèi)暫時失效。 5編程風格編程風格(1)一行只聲明一個變量。 (2)變量的名字符合標識符規(guī)定。 (3)變量名字見名知意,避免容易混淆的變量名字。2010-1-1084.2.4 方法方法 方法的定義包括兩部分:方法聲明和方法體。一般格方法的定義包括兩部分:方法聲明和方法體。一般格式為:式為:方法聲明部分方法聲明部分 方法體的內(nèi)容方法體的內(nèi)容 1方法聲明 方法聲明包括方法名和方法的返回類型,如:float area() 注:注:方法的返回類型方法的返回類型、方法的
6、參數(shù)、方法的名字方法的參數(shù)、方法的名字 2方法體 方法聲明之后的一對大括號“” ,“”以及之間的內(nèi)容稱作方法的方法體。方法體的內(nèi)容包括局部變量的聲明和Java語句。 2010-1-1094.2.5 方法重載方法重載 方法重載的意思是:一個類中可以有多個方法重載的意思是:一個類中可以有多個方法具有相同的名字,但這些方法的參數(shù)必須方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個數(shù)不同,或者是參數(shù)不同,即或者是參數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。的類型不同。 2010-1-10104.2.6 構(gòu)造方法構(gòu)造方法 構(gòu)造方法是一種特殊方法,構(gòu)造方法是一種特殊方法,它的名字必須它的名字必須與
7、它所在的類的名字完全相同,而且沒有類型,與它所在的類的名字完全相同,而且沒有類型,構(gòu)造方法也可以重載。構(gòu)造方法也可以重載。 2010-1-10114.2.7 類方法和實例方法類方法和實例方法 方法聲明時,方法類型前面不加關鍵字方法聲明時,方法類型前面不加關鍵字staticstatic修飾的是實例方法、加修飾的是實例方法、加staticstatic修飾的是修飾的是類方法(靜態(tài)方法)。類方法(靜態(tài)方法)。 2010-1-10124.2.8 幾幾個值得注意的問題個值得注意的問題 1 1對成員變量的操作只能放在方法中,方對成員變量的操作只能放在方法中,方法可以對成員變量和該方法體中聲明的局部變法可以對
8、成員變量和該方法體中聲明的局部變量進行操作。量進行操作。 2 2需要注意的是:實例方法既能對類變量操需要注意的是:實例方法既能對類變量操作也能對實例變量操作,而類方法只能對類變作也能對實例變量操作,而類方法只能對類變量進行操作。量進行操作。 3 3一個類中的方法可以互相調(diào)用,實例方法一個類中的方法可以互相調(diào)用,實例方法可以調(diào)用該類中的其它方法;類中的類方法只可以調(diào)用該類中的其它方法;類中的類方法只能調(diào)用該類的類方法,不能調(diào)用實例方法。能調(diào)用該類的類方法,不能調(diào)用實例方法。 2010-1-10134.3 對象對象4.3.1 創(chuàng)建對象創(chuàng)建對象 1 1對象的聲明對象的聲明 People zhangP
9、ing; 2.2.為聲明的對象分配內(nèi)存為聲明的對象分配內(nèi)存 zhangPing=new People();zhangPing=new People(); 例例4-1,4-1,例例4-24-23 3對象的內(nèi)存模型對象的內(nèi)存模型 (1 1)聲明對象時的內(nèi)存模型聲明對象時的內(nèi)存模型(2 2)對象分配內(nèi)存后的內(nèi)存模型對象分配內(nèi)存后的內(nèi)存模型4 4創(chuàng)建多個不同的對象創(chuàng)建多個不同的對象 2010-1-10144.3.2 使用對象使用對象 1 1通過使用運算符通過使用運算符“.” “.” 對象操作自己的變量對象操作自己的變量(對象的屬性)(對象的屬性) 2 2使用運算符使用運算符“.”,“.”,對象調(diào)用類中
10、的方法(對對象調(diào)用類中的方法(對象的功能)象的功能) 例例4-34-3 2010-1-10154.3.3 對象的引用和實體對象的引用和實體 當用類創(chuàng)建一個對象時,類中當用類創(chuàng)建一個對象時,類中的成員變量在分配內(nèi)存空間,這的成員變量在分配內(nèi)存空間,這些內(nèi)存空間些內(nèi)存空間稱作稱作該對象的實體或該對象的實體或?qū)ο蟮淖兞?,而對象中存放著引對象的變量,而對象中存放著引用。用?一個類創(chuàng)建的兩個對象,如果一個類創(chuàng)建的兩個對象,如果具有相同的引用,那么就具有完具有相同的引用,那么就具有完全相同的實體。全相同的實體。 2010-1-10164.4 參數(shù)傳值參數(shù)傳值 4.4.1 基本數(shù)據(jù)類型參數(shù)的傳值基本數(shù)據(jù)類
11、型參數(shù)的傳值 對于基本數(shù)據(jù)類型的參數(shù),向該參數(shù)傳遞對于基本數(shù)據(jù)類型的參數(shù),向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別的值的級別不可以高于該參數(shù)的級別 。 例例4-44-4 2010-1-10174.4.2 引用類型參數(shù)的傳值引用類型參數(shù)的傳值 當參數(shù)是引用類型時,當參數(shù)是引用類型時,“傳值傳值”傳遞的是變傳遞的是變量中存放的量中存放的“引用引用”,而不是變量所引用的實體。,而不是變量所引用的實體。 例例4-54-5 2010-1-10184.4.3 可變參數(shù)可變參數(shù) 可變參數(shù)是指在聲明方法時不給出參數(shù)列表可變參數(shù)是指在聲明方法時不給出參數(shù)列表中從某項直至最后一項參數(shù)的名字和個數(shù),但這中從某項
12、直至最后一項參數(shù)的名字和個數(shù),但這些參數(shù)的類型必須相同??勺儏?shù)使用些參數(shù)的類型必須相同??勺儏?shù)使用“”“”表表示若干個參數(shù),這些參數(shù)的類型必須相同,最后示若干個參數(shù),這些參數(shù)的類型必須相同,最后一個參數(shù)必須是參數(shù)列表中的最后一個參數(shù)。一個參數(shù)必須是參數(shù)列表中的最后一個參數(shù)。 例如:例如: public void f(int . x)public void f(int . x) 例例4-64-62010-1-10194.4.4 有理數(shù)的類封裝有理數(shù)的類封裝 面向?qū)ο缶幊毯诵乃枷胫痪褪菍?shù)據(jù)和對面向?qū)ο缶幊毯诵乃枷胫痪褪菍?shù)據(jù)和對數(shù)據(jù)的操作封裝在一起。數(shù)據(jù)的操作封裝在一起。 1 1Rati
13、onalRational(有理數(shù))類有理數(shù))類 2 2用用RationalRational對象做運算對象做運算 Rational.javaRational.java MainClass.java MainClass.java 2010-1-10204.5 對象的組合對象的組合 一個類可以把對象作為自己的成員變量,一個類可以把對象作為自己的成員變量,如果用這樣的類創(chuàng)建對象,那么該對象中就會如果用這樣的類創(chuàng)建對象,那么該對象中就會有其它對象,也就是說該對象將其他對象作為有其它對象,也就是說該對象將其他對象作為自己的組成部分,或者說該對象是由幾個對象自己的組成部分,或者說該對象是由幾個對象組合而成。
14、組合而成。例例4-74-7 2010-1-10214.6 staticstatic關鍵字關鍵字 用static 修飾的變量 類變量類變量沒有用static 修飾的變量 實例變量實例變量方法聲明中用static 修飾的方法類方法類方法方法聲明中不用static 修飾的方法實例方法實例方法2010-1-10224.6.1 實例變量和類變量的區(qū)別實例變量和類變量的區(qū)別 如果類中有類變量,那么所有對象的這個如果類中有類變量,那么所有對象的這個類變量都分配給相同的一處內(nèi)存,改變其中一類變量都分配給相同的一處內(nèi)存,改變其中一個對象的這個類變量會影響其它對象的這個類個對象的這個類變量會影響其它對象的這個類變
15、量。也就是說對象共享類變量。變量。也就是說對象共享類變量。 例例4-84-8 2010-1-10234.6.2 實例方法和類方法的區(qū)別實例方法和類方法的區(qū)別 當用類創(chuàng)建對象后,類中的實例方法才分配當用類創(chuàng)建對象后,類中的實例方法才分配入口地址,從而實例方法可以被類創(chuàng)建的任何對入口地址,從而實例方法可以被類創(chuàng)建的任何對象調(diào)用執(zhí)行。象調(diào)用執(zhí)行。 對于類中的類方法,在該類被加載到內(nèi)存時,對于類中的類方法,在該類被加載到內(nèi)存時,就分配了相應的入口地址。就分配了相應的入口地址。 例例4-94-9 2010-1-10244.7 this this 關鍵字關鍵字 this是Java的一個關鍵字,表示某個對象
16、。this可以出現(xiàn)在實例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中。 2010-1-10254.7.1 在構(gòu)造方法中使用在構(gòu)造方法中使用this thisthis關鍵字出現(xiàn)在類的構(gòu)造方法中時,代關鍵字出現(xiàn)在類的構(gòu)造方法中時,代表使用該構(gòu)造方法所創(chuàng)建的對象。表使用該構(gòu)造方法所創(chuàng)建的對象。 例例4-104-10 2010-1-10264.7.2 在實例方法中使用在實例方法中使用this 當當thisthis關鍵字出現(xiàn)實例方法中時,代表正關鍵字出現(xiàn)實例方法中時,代表正在調(diào)用該方法的當前對象。在調(diào)用該方法的當前對象。 當實例成員變量在實例方法中出現(xiàn)時,默認當實例成員變量在實例方法中出現(xiàn)時,默認的格式是:
17、的格式是:this.this.成員變量。成員變量。 當當staticstatic成員變量在實例方法中出現(xiàn)時,成員變量在實例方法中出現(xiàn)時,默認的格式是:默認的格式是:類名類名. .成員變量。成員變量。 2010-1-10274.8 包包 包是包是Java語言中有效地管理類的一個機制。語言中有效地管理類的一個機制。 包名的目的是有效的區(qū)分名字相同的類。包名的目的是有效的區(qū)分名字相同的類。 2010-1-10284.8.1 包語句包語句 通過關鍵字通過關鍵字packagepackage聲明包語句。聲明包語句。 packagepackage語句作為語句作為JavaJava源文件的第一條語句,源文件的第
18、一條語句,為該源文件中聲明的類指定包名。為該源文件中聲明的類指定包名。 package package語句的一般格式為:語句的一般格式為: package package 包名包名; ; 2010-1-10294.8.2 有包名的類的存儲目錄有包名的類的存儲目錄 程序如果使用了包語句,例如:程序如果使用了包語句,例如: package tom.jiafeipackage tom.jiafei; 那么存儲文件的目錄結(jié)構(gòu)中必須包含有如下的結(jié)那么存儲文件的目錄結(jié)構(gòu)中必須包含有如下的結(jié)構(gòu)構(gòu) tomjiafeitomjiafei 如:如: c:1000tomjiafei c:1000tomjiafei
19、并且要將源文件編譯得到的類的字節(jié)碼文件保并且要將源文件編譯得到的類的字節(jié)碼文件保存在目錄存在目錄c:1000tomjiafei中(源文件可以任意中(源文件可以任意存放)。存放)。2010-1-10304.8.3 運行有包名的主類運行有包名的主類 如果主類的包名是如果主類的包名是tom.jiafei,那么主類的字節(jié)那么主類的字節(jié)碼一定存放在碼一定存放在tomjiefei目錄中,運行時必須到目錄中,運行時必須到tomjiefei的上一層(即的上一層(即tom的父目錄)目錄中去的父目錄)目錄中去運行主類。運行主類。 假設假設tomjiefei的上一層目錄是的上一層目錄是1000,那么,必,那么,必須
20、如下格式來運行:須如下格式來運行: C:1000java tom.jiafei. C:1000java tom.jiafei.主類名主類名 注:主類名是:注:主類名是:“包名包名. .主類名主類名” ” 例例4-114-112010-1-10314.9 import import 語句語句 一個類可能需要另一個類聲明的對象作為自一個類可能需要另一個類聲明的對象作為自己的成員或方法中的局部變量,如果這兩個類己的成員或方法中的局部變量,如果這兩個類在同一個包中,當然沒有問題。在同一個包中,當然沒有問題。 如果一個類想要使用的那個類和它不在一個如果一個類想要使用的那個類和它不在一個包中,要使用包中,
21、要使用importimport語句完成使命。語句完成使命。2010-1-10324.9.1 引入類庫中的類引入類庫中的類 如果用戶需要類庫中的類就必須使用如果用戶需要類庫中的類就必須使用import語語句,如:句,如: import java.until.Date; import java.until.Date; 例例4-124-122010-1-10334.9.2 引入自定義包中的類引入自定義包中的類 用戶程序可以使用用戶程序可以使用tom.jiafei包包中的類,中的類,即使即使用用非類庫非類庫中有包名的類,也要使用中有包名的類,也要使用import語句,語句,如:如: import to
22、m.jiafei.import tom.jiafei.* *; ; 例例4-134-13, 例例4-144-142010-1-10344.9.3 使用無包名的類使用無包名的類 如果一個類想使用無名包中的類,只要將這如果一個類想使用無名包中的類,只要將這個無包名的類的字節(jié)碼和當前類保存在同一目個無包名的類的字節(jié)碼和當前類保存在同一目錄中即可。錄中即可。 例例4-154-152010-1-10354.9.4 避免類名混淆避免類名混淆 1 1區(qū)分無包名和有包名的類區(qū)分無包名和有包名的類 如果想同時使用如果想同時使用tom.jiafeitom.jiafei包中的包中的A A類和無類和無名包中的名包中的
23、A A類,就不能省略包名,例如:類,就不能省略包名,例如: A a1=new A();A a1=new A(); tom.jiafei.A a2=new tom.jiafei.A(); tom.jiafei.A a2=new tom.jiafei.A();2區(qū)分有包名的類區(qū)分有包名的類 如果一個源文件引入了兩個包中同名的類,如果一個源文件引入了兩個包中同名的類,那么在使用該類時,不允許省略包名,比如:那么在使用該類時,不允許省略包名,比如: tom.jiafei.A bird=new tom.jiafei.A(); tom.jiafei.A bird=new tom.jiafei.A(); .
24、A goat=new .A(); .A goat=new .A(); 2010-1-10364.10 訪問權(quán)限訪問權(quán)限 訪問限制修飾符有訪問限制修飾符有privateprivate、protectedprotected和和publicpublic,都是都是JavaJava的關鍵字,用來修飾成員變的關鍵字,用來修飾成員變量或方法。量或方法。2010-1-10374.10.1 私有變量和私有方法私有變量和私有方法 用關鍵字用關鍵字private修飾的成員變量和方法稱為私修飾的成員變量和方法稱為私有變量和私有方法。有變量和私有方法。 對于私有成員變量或方法,只有在本類中創(chuàng)建對于私有成員變量或方法,只
25、有在本類中創(chuàng)建該類的對象時,這個對象才能訪問自己的私有該類的對象時,這個對象才能訪問自己的私有成員變量和類中的私有方法。成員變量和類中的私有方法。 例例4-16,4-16,例例4-174-172010-1-10384.10.2 共有變量和共有方法共有變量和共有方法 用用public修飾的成員變量和方法被稱為共有變修飾的成員變量和方法被稱為共有變量和共有方法量和共有方法 。 我們在任何一個類中用類我們在任何一個類中用類Tom Tom 創(chuàng)建了一個對創(chuàng)建了一個對象后,該對象能訪問自己的象后,該對象能訪問自己的publicpublic變量和類中變量和類中的的publicpublic方法(也可以通過類名
26、來操作成員變方法(也可以通過類名來操作成員變量、方法)量、方法) 。2010-1-10394.10.3 友好變量和友好方法友好變量和友好方法 當在另外一個類中用類當在另外一個類中用類Tom 創(chuàng)建了一個對象創(chuàng)建了一個對象后,如果這個類與后,如果這個類與Tom類在同一個包中,那么該類在同一個包中,那么該對象能訪問自己的友好變量和友好方法。對象能訪問自己的友好變量和友好方法。 在任何一個與在任何一個與Tom同一包中的類中,也可以通同一包中的類中,也可以通過過Tom類的類名訪問類的類名訪問Tom類的類友好成員變量和類的類友好成員變量和類友好方法。類友好方法。2010-1-10404.10.4 受保護的
27、成員變量和方法受保護的成員變量和方法 用用protectedprotected修飾的成員變量和方法被稱為受修飾的成員變量和方法被稱為受保護的成員變量和受保護的方法保護的成員變量和受保護的方法 。2010-1-10414.10.5 publicpublic類與友好類類與友好類 類聲明時,如果在關鍵字類聲明時,如果在關鍵字classclass前面加上前面加上publicpublic關鍵字,就稱這樣的類是一個關鍵字,就稱這樣的類是一個public public 類類 。 可以在可以在任何另外一個類任何另外一個類中,使用中,使用publicpublic類創(chuàng)類創(chuàng)建對象。建對象。 如果一個類不加如果一個類
28、不加publicpublic修飾,這樣的類被稱修飾,這樣的類被稱作友好類。作友好類。 在另外一個類中使用友好類創(chuàng)建對象時,要保在另外一個類中使用友好類創(chuàng)建對象時,要保證它們是在證它們是在同一包中同一包中。2010-1-10424.11 基本類型的類包裝基本類型的類包裝 JavaJava的基本數(shù)據(jù)類型包括:的基本數(shù)據(jù)類型包括:bytebyte、intint、shortshort、longlong、floatfloat、doubledouble、charchar。 Java Java提供了基本數(shù)據(jù)類型相關的類,實現(xiàn)了提供了基本數(shù)據(jù)類型相關的類,實現(xiàn)了對基本數(shù)據(jù)類型的封裝。對基本數(shù)據(jù)類型的封裝。 這
29、些類分別是:這些類分別是:ByteByte、IntegerInteger、ShortShort、LongLong、FloatFloat、DoubleDouble和和CharacterCharacter類。這些類類。這些類在在java.langjava.lang包中。包中。2010-1-10434.11.1 DoubleDouble和和FloatFloat類類 Double類和類和Float類實現(xiàn)了對類實現(xiàn)了對double和和float基本型數(shù)據(jù)的類包裝?;拘蛿?shù)據(jù)的類包裝。 Double類的構(gòu)造方法:類的構(gòu)造方法:Double(double num) Float類的構(gòu)造方法:類的構(gòu)造方法: F
30、loat(float num) Double對象調(diào)用對象調(diào)用doubleValue()方法方法可以返回可以返回該對象含有的該對象含有的double型數(shù)據(jù)型數(shù)據(jù)。 Float對象調(diào)用對象調(diào)用floatValue()方法方法可以返回該對可以返回該對象含有的象含有的float型數(shù)據(jù)型數(shù)據(jù)。 2010-1-10444.11.2 ByteByte、Short Short 、IntegerInteger、LongLong類類 上述個類的構(gòu)造方法分別上述個類的構(gòu)造方法分別 : Byte(byte num) Short(short num) Integer(int num) Long(long num) By
31、te、Short、Integer和和Long對象分別調(diào)用對象分別調(diào)用byteValue ()、shortValue()、intValue()和和longValue ()方法方法返回該對象含有的返回該對象含有的基本型數(shù)據(jù)基本型數(shù)據(jù)。 2010-1-10454.11.3 CharacterCharacter類類 CharacterCharacter類實現(xiàn)了對類實現(xiàn)了對charchar基本型數(shù)據(jù)的類包裝?;拘蛿?shù)據(jù)的類包裝。 Character Character類的構(gòu)造方法:類的構(gòu)造方法:Character(char c) Character類中的一些常用類方法:類中的一些常用類方法: publi
32、c static boolean isDigit(char ch) 如果如果ch是數(shù)字字符方法返回是數(shù)字字符方法返回 true,否則返回否則返回false。 public static boolean isLetter(char ch) 如果如果ch是字母方法返回是字母方法返回 true,否則返回否則返回false。 public static boolean isLetterOrDigit(char ch) 如果如果ch是數(shù)字字符或字母方法是數(shù)字字符或字母方法返回返回 true,否則返回否則返回false。 public static boolean isLowerCase(char ch)
33、 如果如果ch是小寫字母方法返回是小寫字母方法返回 true,否則返回否則返回false。 public static boolean isUpperCase(char ch) 如果如果ch是大寫字母方法返回是大寫字母方法返回 true,否則返回否則返回false。 public static char toLowerCase(char ch) 返回返回ch的小寫形式。的小寫形式。 public static char toUpperCase(char ch) 返回返回ch的大寫形式。的大寫形式。 public static boolean isSpaceChar(char ch) 如果如果c
34、h是空格返回是空格返回true。例例4-184-182010-1-10464.11.4 自動裝箱與拆箱自動裝箱與拆箱 所謂自動裝箱所謂自動裝箱就是允許把一個基本數(shù)據(jù)類型的值直就是允許把一個基本數(shù)據(jù)類型的值直接賦值給基本數(shù)據(jù)類型相對應的類的實例,例如:接賦值給基本數(shù)據(jù)類型相對應的類的實例,例如: Integer number=100;Integer number=100; 自動拆箱自動拆箱就是允許把基本數(shù)據(jù)類型相對應的類的實就是允許把基本數(shù)據(jù)類型相對應的類的實例直接賦值給相應的基本數(shù)據(jù)類型變量或把基本數(shù)據(jù)例直接賦值給相應的基本數(shù)據(jù)類型變量或把基本數(shù)據(jù)類型相對應的類的實例當作相應的基本數(shù)據(jù)類型來使
35、類型相對應的類的實例當作相應的基本數(shù)據(jù)類型來使用,例如:用,例如:numbernumber是一個是一個IntegerInteger對象,那么允許:對象,那么允許: int x=number+number; int x=number+number; 例例4-194-192010-1-10474.12 反編譯和文檔生成器反編譯和文檔生成器 4.12.1 javapjavap反編譯反編譯 JDK提供的反編譯器提供的反編譯器javap.exe可以將字節(jié)可以將字節(jié)碼反編譯為源碼,查看源碼類中的碼反編譯為源碼,查看源碼類中的public方法方法名字和名字和public成員變量的名字,例如:成員變量的名字,
36、例如: javap java.util.Date 2010-1-10484.12.2 javadocjavadoc制作文檔制作文檔 使用使用JDK提供的提供的javadoc.exe可以制做源文件的可以制做源文件的html格式文檔。格式文檔。 假設假設D:test有源文件有源文件Example.java,用用 javadoc Example.java 生成生成Example.java的的html格式文擋。格式文擋。 例例4-204-202010-1-10494.13 jarjar文件文件 我們可以使用我們可以使用jar.exe命令把一些類的字節(jié)碼文件壓縮成一個命令把一些類的字節(jié)碼文件壓縮成一個jar文件,然后將這個文件,然后將這個jar文件存放到文件存放到Java運行環(huán)境的擴展中,即運行環(huán)境的擴展中,即將該將該jar文件存放在文件存放在JDK安裝目錄的安裝目錄的jrelibext文件夾中。這樣,文件夾中。這樣,Java應用程序就可以使用這個應用程序就可以使用這個jar文件中的類來創(chuàng)建對象了。文件中的類來創(chuàng)建對象了。(1 1)有包名的類)有包名的類: :TestOne和和TestTwo類的包名為類的包名為moon.star 首先編寫一個清單文件:首先編寫一個清單文件:hello.mf(Manifes
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 回遷房買賣合同版怎么理解
- 標準摩托車轉(zhuǎn)讓協(xié)議合同范本
- 技術升級與改善服務合同
- 購銷合同中的供應鏈金融服務風險控制
- 倉儲代表合同協(xié)議案例
- 解除勞務合同協(xié)議
- 深入解析采購訂單與采購合同
- 精釀啤酒代理權(quán)協(xié)議
- 保密協(xié)議與數(shù)據(jù)安全示例
- 電力供應安全承諾書
- 松果體區(qū)腫瘤護理
- 招聘司機方案
- 《施工現(xiàn)場安全防護標準化防高墜篇》測試附有答案
- 浙江省寧波市2023-2024學年高一上學期1月期末地理試題【含答案解析】
- 流動資金貸款管理辦法培訓1
- 期末測試(試題)-2023-2024學年冀教版英語五年級上冊
- 2022年1月上海春季高考英語真題(學生版+解析版+聽力音頻)
- 教育實習匯報課件
- 如何制作一個簡易的動物細胞模型
- 2024年便攜式X光機行業(yè)分析報告及未來發(fā)展趨勢
- 騰訊公司營銷策略
評論
0/150
提交評論