再谈Java包
在Java中,為了組織代碼的方便,可以將功能相似的類放到一個(gè)文件夾內(nèi),這個(gè)文件夾,就叫做包。
包不但可以包含類,還可以包含接口和其他的包。
目錄以””來(lái)表示層級(jí)關(guān)系,例如 E:JavaworkspaceDemobinp1p2Test.java。
包以”.”來(lái)表示層級(jí)關(guān)系,例如 p1.p2.Test 表示的目錄為 p1p2Test.class。
如何實(shí)現(xiàn)包
通過(guò) package 關(guān)鍵字可以聲明一個(gè)包,例如:
package p1.p2;
必須將 package 語(yǔ)句放在所有語(yǔ)句的前面,例如:
表明 Test 類位于 p1.p2 包中。
包的調(diào)用
在Java中,調(diào)用其他包中的類共有兩種方式。
1) 在每個(gè)類名前面加上完整的包名
程序舉例:
運(yùn)行結(jié)果:
Wed Dec 03 11:20:13 CST 2014
2) 通過(guò) import 語(yǔ)句引入包中的類
程序舉例:
運(yùn)行結(jié)果與上面相同。
實(shí)際編程中,沒(méi)有必要把要引入的類寫的那么詳細(xì),可以直接引入特定包中所有的類,例如 import java.util.*;。
類的路徑
Java 在導(dǎo)入類時(shí),必須要知道類的絕對(duì)路徑。
首先在?E:JavaworkspaceDemosrcp0 目錄(E:JavaworkspaceDemosrc 是項(xiàng)目源文件的根目錄)下創(chuàng)建 Demo.java,輸入如下代碼:
再在?E:JavaworkspaceDemosrcp1p2 目錄下創(chuàng)建 Test.java,輸入如下代碼:
假設(shè)我們將 classpath 環(huán)境變量設(shè)置為?.;D:Program Filesjdk1.7.0_71lib,源文件 Demo.java 開頭有?import?p1.p2.Test; 語(yǔ)句,那么編譯器會(huì)先檢查 E:JavaworkspaceDemosrcp0p1p2 目錄下是否存在 Test.java 或 Test.class 文件,如果不存在,會(huì)繼續(xù)檢索?D:Program Filesjdk1.7.0_71libp1p2 目錄,兩個(gè)目錄下都不存在就會(huì)報(bào)錯(cuò)。顯然,Test.java 位于?E:JavaworkspaceDemosrcp1p2 目錄,編譯器找不到,會(huì)報(bào)錯(cuò),怎么辦呢?
可以通過(guò) javac 命令的 classpath 選項(xiàng)來(lái)指定類路徑。
打開CMD,進(jìn)入 Demo.java 文件所在目錄,執(zhí)行 javac 命令,并將 classpath 設(shè)置為?E:JavaworkspaceDemosrc,如下圖所示:
運(yùn)行Java程序時(shí),也需要知道類的絕對(duì)路徑,除了 classpath 環(huán)境變量指定的路徑,也可以通過(guò) java 命令的 classpath 選項(xiàng)來(lái)增加路徑,如下圖所示:
注意 java 命令與 javac 命令的區(qū)別,執(zhí)行 javac 命令需要進(jìn)入當(dāng)前目錄,而執(zhí)行 java 命令需要進(jìn)入當(dāng)前目錄的上級(jí)目錄,并且類名前面要帶上包名。
可以這樣來(lái)理解,javac是一個(gè)平臺(tái)命令,它對(duì)具體的平臺(tái)文件進(jìn)行操作,要指明被編譯的文件路徑。而java是一個(gè)虛擬機(jī)命令,它對(duì)類操作,即對(duì)類的描述要用點(diǎn)分的描述形式,并且不能加擴(kuò)展名,還要注意類名的大小寫。
這些命令比較繁雜,實(shí)際開發(fā)都需要借助 Eclipse,在Eclipse下管理包、編譯運(yùn)行程序都非常方便。Eclipse 實(shí)際上也是執(zhí)行這些命令。
包的訪問(wèn)權(quán)限
被聲明為 public 的類、方法或成員變量,可以被任何包下的任何類使用,而聲明為 private 的類、方法或成員變量,只能被本類使用。
沒(méi)有任何修飾符的類、方法和成員變量,只能被本包中的所有類訪問(wèn),在包以外任何類都無(wú)法訪問(wèn)它。
1.異常處理基礎(chǔ)
2.異常類型
3.未被捕獲的異常
4.try和catch的使用
5.多重catch語(yǔ)句的使用
6.try語(yǔ)句的嵌套
7.throw:異常的拋出
8.throws子句
9.finally塊
10.Java的內(nèi)置異常
11.創(chuàng)建自己的異常子類
12.斷言
總結(jié)
- 上一篇: C++结构体中const使用场景
- 下一篇: css中选择器介绍