Java筆記丨13 包
package
package pkg1[.pkg2[.pkg3…]];
包及子包的定義,實際上是為了解決名字空間、名字衝突
它與類的繼承沒有關係。事實上,一個子類與其父類可以位於不同的包中
包有兩方面的含義
一是名字空間,儲存路徑(資料夾)
一是可訪問性(同一包中的各個類,預設情況下可互相訪問)
package語句
包層次的根目錄是有環境變數CLASSPATH來確定的
在簡單情況下,沒有package語句,這時稱為無名包(unnamed package)
在Eclipse中,也叫(default package)
Java的JDK提供了很多包
java.applet,java.awt,java.awt.image,java.awt.peer,java.io,java.lang,java.net,java.util,javax.swing等
import語句
為了能使用Java中已提供的類,需要使用import語句來匯入所需要的類
import語句的格式為:
import package1[.package2…].(classname|*);
例如:
import java.util.Date;
這樣,程式中java.util.Date可以簡寫為Date;
import java.awt.*
import java.awt.event.*;
注意:使用星號(*)只能表示本層次的所有類,不包括子層次下的類
Java編譯器自動匯入包java.lang.*
Eclipse等IDE可以方便地生成import語句
編譯和執行包中的類
使用javac可以將.class檔案放入到相應的目錄,只需要使用一個命令選項-d來指明包的根目錄即可。
javac -d d:\tang\ch04 d:\tang\ch04\pk\TestPkg.java
javac -d . pk\*.java
其中,“.”表示當前目錄
執行該程式,需要指明含有main的類名:
java pk.TestPkg
CLASSPATH
在編譯和執行程式中,經常要用到多個包,怎樣指明這些包的根目錄呢?簡單地說,包層次的根目錄是由環境變數CLASSPATH來確定的。具體操作有兩種辦法。
一是在java及javac命令列中,用-classpath(或-cp)選項來指明,如:
java -classpath d:\tang\ch04;c:\java\classes;.pk.TestPkg
二是設定classpath環境變數,用命令列設定環境變數,如:
set classpath=d:\tang\ch04;c:\java\classes;.
在windows中可以按前面筆記中的方法設定環境變數