java中的包、環境變量和訪問控制
一、java中的包
Java利用包來組織代碼,一來使大型項目的代碼結構清晰,二來包是一個命名空間的劃分,即不同包中可以有相同名字的類,只需在在類名前加上包名即可區分它們。
Package xxx 必須位于java文件除了注釋以外的第一行,用來指明當前文件中的類屬于哪一個包,如果沒有package語句,則該文件中的類都屬于默認包。
Import xxx用來在當前java文件中導入不屬于當前包中的類,從而可以在當前文件中使用它們。
二、java中的環境變量
1.path
環境變量其實就是一組變量(廢話),它的作用是給系統和應用程序提供參數。例如:path,它告訴系統和應用程序一些系統必備的程序的存儲位置,比如你要運行ipconfig命令,系統去哪里找它呢,就是通過path變量,把它所存儲的位置挨個找一遍,直到找到為止。
在java中,當我們要運行java程序,在控制臺輸入java xxx時,java這個應用程序(exe文件)到哪里找呢?系統就得通過path,這樣就得把包含java這個命令所在的目錄拷貝到path環境變量中,這樣以后,再運行java xxx 就不會出現“‘java’不是內部或外部命令,也不是可運行的程序或批處理文件。”了,javac同理。
2.classpath
說完path,再來說說classpath,這里就牽扯到java中的包機制了。
Java程序是由一個一個類構成的,類之間可以相互調用,還有一些java語言已經定義好的類,那么當程序要用到這些類的時候,去哪里找他們呢,這就需要classpath這個環境變量來指點迷津了。
總結:classpath指明了類查找路徑,如果類沒有被打包,那就需要將其所在目錄添加到classpath中,如果類被打包為JAR文件,則需要將JAR文件的實際名稱寫清楚。
Classpath一般設置為“.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;”
其中.代表當前目錄,%JAVA_HOME%代表java jdk的路徑。Dt.jar中主要是swing包中的各種控件類。Tools.jar中是各種工具類。
當編譯器碰到import語句時,就開始在CLASSPATH所包含的目錄中查找。
(參考:http://www.linuxidc.com/Linux/2012-01/52713.htm)
注意注意!以上是比較舊的說法,在JDK1.4以后就不用再設置CLASSPATH,Java默認會搜索上面說的那幾個位置。也就是說,只用把Java的JDK的bin目錄添加到Path中去,一步就完成了環境變量的配置!多廢話一句,不用設置不是說不可以設置,如果你非得設置,也可以,但是切記切記不要忘了那個小小的點代表的當前目錄。如果你設置了,系統會按照你設置的classpath來找類,默認的搜索路徑失效,所以一定要仔細仔細再仔細!
3.JAVA_HOME
指明jdk的路徑
三、訪問權限控制
1.類成員的訪問控制
訪問控制符:public/PRotected/包訪問權限(無關鍵字即默認)/private
| 類本身 | 同包中的子類 | 不同包中的子類 | 同包中的非子類 | 不同包中的非子類 | 總之 |
public | 可以 | 可以 | 可以 | 可以 | 可以 | 都可以 |
private | 可以 | 不可以 | 不可以 | 不可以 | 不可以 | 僅自身可見 |
default | 可以 | 可以 | 不可以 | 可以 | 不可以 | 僅同包可見 |
protected | 可以 | 可以 | 可以 | 可以 | 不可以 | 子類或者同包可見 |
2.類的訪問控制權限
類只有兩種訪問控制權限:默認(即包訪問控制權限)和public
新聞熱點
疑難解答