1. 程式人生 > >Java筆記丨13 包

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中可以按前面筆記中的方法設定環境變數