新聞中心
本篇文章為大家展示了java中package和import機(jī)制的原理是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
CLASSPATH顧名思義就是class的路徑,當(dāng)我們?cè)谙到y(tǒng)中運(yùn)行某個(gè)java程序時(shí),它就會(huì)告訴系統(tǒng)在這些地方尋找這個(gè)class文件
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; 這是我們java默認(rèn)環(huán)境變量設(shè)置。
“.”的意思是在當(dāng)前這個(gè)文件夾找;%JAVA_HOME%\lib是在java安裝路徑的lib文件夾找;%JAVA_HOME%\lib\tools.jar是在java安裝路徑的lib文件夾的tools壓縮包中找。
現(xiàn)在讓我們來(lái)測(cè)試下吧:
在C:\DOM中新建HelloWorld.java
//: HelloWorld.java public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello World!”); } }
首先javac HelloWorld.java,系統(tǒng)會(huì)在這個(gè)目錄中找到HelloWorld.java文件,編譯出HelloWorld.class文件。Java HelloWorld,系統(tǒng)會(huì)先調(diào)用CLASSPATH路徑,我們?cè)O(shè)置了“.”這個(gè)目錄,所以會(huì)在當(dāng)前目錄中找到HelloWorld.class。運(yùn)行成功。
**換個(gè)地方運(yùn)行這個(gè)程序
我們?cè)贑盤(pán)運(yùn)行java HelloWorld**
系統(tǒng)會(huì)現(xiàn)在CLASSPATH路徑尋找HelloWorld.class。但是在”.”(現(xiàn)在是C盤(pán))找不到這個(gè)文件。
我們現(xiàn)在把C:\DOM路徑加入到CLASSPATH
為了更新系統(tǒng)環(huán)境變量我們需要重新啟動(dòng)dos窗口
系統(tǒng)會(huì)在CLASSPATH中找到C:\DOM這個(gè)路徑,再找到HelloWorld.class這個(gè)文件。運(yùn)行成功。
現(xiàn)在我們明白了CLASSPATH的作用了^^
關(guān)于PACKAGE
我們來(lái)改寫(xiě)這個(gè)程序,加入package
//: HelloWorld.java package a.b; public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello Wolrd!”); } }
編譯成功,但是不能運(yùn)行。
系統(tǒng)在找到HelloWorld.class時(shí)就會(huì)讀取到package a.b;這個(gè)信息,這個(gè)告訴系統(tǒng)這個(gè)HelloWorld.class是要放在a文件夾的b文件夾中。但是現(xiàn)在我們的HelloWorld.class是在DOM這個(gè)文件夾。文件路徑和package不能對(duì)應(yīng),無(wú)法運(yùn)行。
現(xiàn)在我們來(lái)新建a/b這個(gè)兩個(gè)文件夾,然后把HelloWorld.class復(fù)制到b文件夾中。然后再運(yùn)行java HelloWorld
對(duì)不起!還是沒(méi)有運(yùn)行成功。系統(tǒng)在CLASSPATH中尋找HelloWorld.class文件,但是這個(gè)文件被隱藏在a文件夾中的b文件夾。
我們來(lái)試試java a.b.HelloWorld
運(yùn)行成功了,系統(tǒng)在CLASSPATH中的“.”文件夾找到a文件夾,然后b文件夾,找到HelloWorld.class文件。
現(xiàn)在明白package的作用了,它是一定要符合從CLASSPATH出發(fā)的目錄結(jié)構(gòu)的。
關(guān)于IMPORT
Import的作用是當(dāng)你調(diào)用另一個(gè)class的時(shí)候,告訴系統(tǒng),要找哪里才能找到這個(gè)class。
我們?cè)贑:\DOM的目錄下寫(xiě)一個(gè)調(diào)用a\b\HelloWorld.class的程序。
//: TestHelloWorld.java import a.b.HelloWorld; public class TestHelloWorld{ public static void main(String[] args){ HelloWorld hw=new HelloWorld(); hw.main(args); //調(diào)用HelloWorld中的main()函數(shù),args是引數(shù),會(huì)打印出HelloWorld! } }
編譯運(yùn)行成功!
編譯:系統(tǒng)在個(gè)這個(gè)文件夾中找到TestHelloWorld.java文件,檢查import a.b.HelloWorld; 找CLASSPATH中找到a\b\HelloWorld.class。編譯通過(guò)完成!
運(yùn)行:系統(tǒng)現(xiàn)在CLASSPATH中找到TestHelloWorld.class,然后讀取import a.b.HelloWorld; 導(dǎo)入HelloWorld.class,運(yùn)行成功!
上述內(nèi)容就是java中package和import機(jī)制的原理是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:java中package和import機(jī)制的原理是什么-創(chuàng)新互聯(lián)
地址分享:http://biofuelwatch.net/article/ehehj.html