這篇文章主要介紹了Java包的作用是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Java包的作用是什么文章都會(huì)有所收獲,下面我們一起來看看吧。
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出北票免費(fèi)做網(wǎng)站回饋大家。
為了更好地組織類,Java提供了包機(jī)制,用于區(qū)別類名的命名空間。
包的作用:
1. 把功能相似或相關(guān)的類或接口組織在同一個(gè)包中,方便類的查找和使用。
2.如同文件夾一樣,包也采用了樹形目錄的存儲(chǔ)方式。同一個(gè)包中的類名字是不同的,不同的包中的類的名字是可以相同的,當(dāng)同時(shí)調(diào)用兩個(gè)不同包中相同類名的類時(shí),應(yīng)該加上包名加以區(qū)別。因此,包可以避免名字沖突。
3. 包也限定了訪問權(quán)限,擁有包訪問權(quán)限的類才能訪問某個(gè)包中的類。
Java使用包(package)這種機(jī)制是為了防止命名沖突,訪問控制,提供搜索和定位類(class)、接口、枚舉(enumerations)和注釋(annotation)等。
包語句的語法格式為:package pkg1[.pkg2[.pkg3…]];
例如,一個(gè)Something.java 文件它的內(nèi)容
package net.java.util
public class Something{
...
}
那么它的路徑應(yīng)該是 net/java/util/Something.java 這樣保存的。 package(包)的作用是把不同的java程序分類保存,更方便的被其他java程序調(diào)用。
一個(gè)包(package)可以定義為一組相互聯(lián)系的類型(類、接口、枚舉和注釋),為這些類型提供訪問保護(hù)和命名空間管理的功能。
以下是一些Java中的包:
java.lang-打包基礎(chǔ)的類
java.io-包含輸入輸出功能的函數(shù)
開發(fā)者可以自己把一組類和接口等打包,并定義自己的package。而且在實(shí)際開發(fā)中這樣做是值得提倡的,當(dāng)你自己完成類的實(shí)現(xiàn)之后,將相關(guān)的類分組,可以讓其他的編程者更容易地確定哪些類、接口、枚舉和注釋等是相關(guān)的。
http://www.iis7.com/a/lm/gjcpmcx/
由于package創(chuàng)建了新的命名空間(namespace),所以不會(huì)跟其他package中的任何名字產(chǎn)生命名沖突。使用包這種機(jī)制,更容易實(shí)現(xiàn)訪問控制,并且讓定位相關(guān)類更加簡(jiǎn)單。
。。。
創(chuàng)建包
創(chuàng)建package的時(shí)候,你需要為這個(gè)package取一個(gè)合適的名字。之后,如果其他的一個(gè)源文件包含了這個(gè)包提供的類、接口、枚舉或者注釋類型的時(shí)候,都必須將這個(gè)package的聲明放在這個(gè)源文件的開頭。
包聲明應(yīng)該在源文件的第一行,每個(gè)源文件只能有一個(gè)包聲明,這個(gè)文件中的每個(gè)類型都應(yīng)用于它。
如果一個(gè)源文件中沒有使用包聲明,那么其中的類,函數(shù),枚舉,注釋等將被放在一個(gè)無名的包(unnamed package)中。
通常使用小寫的字母來命名避免與類、接口名字的沖突。
。。。
import關(guān)鍵字
為了能夠使用某一個(gè)包的成員,我們需要在 Java 程序中明確導(dǎo)入該包。使用"import"語句可完成此功能。
在 java 源文件中 import 語句應(yīng)位于 package 語句之后,所有類的定義之前,可以沒有,也可以有多條,其語法格式為:import package1[.package2…].(classname|*);
如果在一個(gè)包中,一個(gè)類想要使用本包中的另一個(gè)類,那么該包名可以省略。
注意:類文件中可以包含任意數(shù)量的import聲明。import聲明必須在包聲明之后,類聲明之前。
。。。
package的目錄結(jié)構(gòu)
類放在包中會(huì)有兩種主要的結(jié)果:
1. 包名成為類名的一部分,正如我們前面討論的一樣。
2. 包名必須與相應(yīng)的字節(jié)碼所在的目錄結(jié)構(gòu)相吻合。
下面是管理你自己java中文件的一種簡(jiǎn)單方式:
將類、接口等類型的源碼放在一個(gè)文件中,這個(gè)文件的名字就是這個(gè)類型的名字,并以.java作為擴(kuò)展名。
例如:
// 文件名 : Car.java
package vehicle;
public class Car {
// 類實(shí)現(xiàn)
}
接下來,把源文件放在一個(gè)目錄中,這個(gè)目錄要對(duì)應(yīng)類所在包的名字:....\vehicle\Car.java
現(xiàn)在,正確的類名和路徑將會(huì)是如下樣子:
類名 -> vehicle.Car
路徑名 -> vehicle\Car.java (in windows)
通常,一個(gè)公司使用它互聯(lián)網(wǎng)域名的顛倒形式來作為它的包名.例如:互聯(lián)網(wǎng)域名是apple.com,所有的包名都以com.apple開頭。包名中的每一個(gè)部分對(duì)應(yīng)一個(gè)子目錄。
例如:這個(gè)公司有一個(gè)com.apple.computers的包,這個(gè)包包含一個(gè)叫做Dell.java的源文件,那么相應(yīng)的,應(yīng)該有如下面的一連串子目錄:
....\com\apple\computers\Dell.java
編譯的時(shí)候,編譯器為包中定義的每個(gè)類、接口等類型各創(chuàng)建一個(gè)不同的輸出文件,輸出文件的名字就是這個(gè)類型的名字,并加上.class作為擴(kuò)展后綴。
例如:
// 文件名: Dell.java
package com.apple.computers;
public class Dell{
}
class Ups{
}
現(xiàn)在,我們用-d選項(xiàng)來編譯這個(gè)文件,如右:$javac -d . Dell.java
這樣會(huì)像右面這樣放置編譯了的文件:.\com\apple\computers\Dell.class.\com\apple\computers\Ups.class
你可以像右面這樣來導(dǎo)入所有 \com\apple\computers\中定義的類、接口等:import com.apple.computers.*;
編譯之后的.class文件應(yīng)該和.java源文件一樣,它們放置的目錄應(yīng)該跟包的名字對(duì)應(yīng)起來。但是,并不要求.class文件的路徑跟相應(yīng)的.java的路徑一樣。你可以分開來安排源碼和類的目錄。
這樣,你可以將你的類目錄分享給其他的編程人員,而不用透露自己的源碼。用這種方法管理源碼和類文件可以讓編譯器和java虛擬機(jī)(JVM)可以找到你程序中使用的所有類型。
類目錄的絕對(duì)路徑叫做class path。設(shè)置在系統(tǒng)變量CLASSPATH中。編譯器和java虛擬機(jī)通過將package名字加到class path后來構(gòu)造.class文件的路徑。
一個(gè)class path可能會(huì)包含好幾個(gè)路徑。多路徑應(yīng)該用分隔符分開。默認(rèn)情況下,編譯器和JVM查找當(dāng)前目錄。JAR文件按包含Java平臺(tái)相關(guān)的類,所以他們的目錄默認(rèn)放在了class path中。
。。。
設(shè)置CLASSPATH系統(tǒng)變量
用下面的命令顯示當(dāng)前的CLASSPATH變量:
Windows平臺(tái)(DOS 命令行下)-> C:\> set CLASSPATH
UNIX平臺(tái)(Bourne shell下)-> % echo $CLASSPATH
刪除當(dāng)前CLASSPATH變量?jī)?nèi)容:
Windows平臺(tái)(DOS 命令行下)-> C:\> set CLASSPATH=
UNIX平臺(tái)(Bourne shell下)-> % unset CLASSPATH; export CLASSPATH
設(shè)置CLASSPATH變量:
Windows平臺(tái)(DOS 命令行下)-> set CLASSPATH=C:\users\jack\java\classes
UNIX平臺(tái)(Bourne shell下)-> % CLASSPATH=/home/jack/java/classes; export CLASSPATH
關(guān)于“Java包的作用是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Java包的作用是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。