最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java的package和import機(jī)制原理解析

 更新時(shí)間:2020年01月17日 14:39:14   作者:windpoplar  
這篇文章主要介紹了java的package和import機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了java的package和import機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在說package、import機(jī)制前我們先來了解下java的CLASSPATH。

CLASSPATH顧名思義就是class的路徑,當(dāng)我們在系統(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)在讓我們來測試下吧:

在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路徑,我們設(shè)置了“.”這個(gè)目錄,所以會(huì)在當(dāng)前目錄中找到HelloWorld.class。運(yùn)行成功。

**換個(gè)地方運(yùn)行這個(gè)程序

我們在C盤運(yùn)行java HelloWorld**

系統(tǒng)會(huì)現(xiàn)在CLASSPATH路徑尋找HelloWorld.class。但是在”.”(現(xiàn)在是C盤)找不到這個(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

我們來改寫這個(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不能對應(yīng),無法運(yùn)行。

現(xiàn)在我們來新建a/b這個(gè)兩個(gè)文件夾,然后把HelloWorld.class復(fù)制到b文件夾中。然后再運(yùn)行java HelloWorld

對不起!還是沒有運(yùn)行成功。系統(tǒng)在CLASSPATH中尋找HelloWorld.class文件,但是這個(gè)文件被隱藏在a文件夾中的b文件夾。
我們來試試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的目錄下寫一個(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。編譯通過完成!

運(yùn)行:系統(tǒng)現(xiàn)在CLASSPATH中找到TestHelloWorld.class,然后讀取import a.b.HelloWorld; 導(dǎo)入HelloWorld.class,運(yùn)行成功!

到此為止,你應(yīng)該明白package 和 import的作用了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot如何使用logback實(shí)現(xiàn)多環(huán)境配置?

    Springboot如何使用logback實(shí)現(xiàn)多環(huán)境配置?

    上一篇文章中老顧介紹了logback基本配置,了解了日志配置的基本方式.我們平時(shí)在系統(tǒng)開發(fā)時(shí),開發(fā)環(huán)境與生產(chǎn)環(huán)境的日志配置會(huì)不一樣;那今天老顧就跟大家介紹一下如何實(shí)現(xiàn)多環(huán)境配置,需要的朋友可以參考下
    2021-06-06
  • 在CentOS系統(tǒng)上安裝Java?JDK?8簡單步驟

    在CentOS系統(tǒng)上安裝Java?JDK?8簡單步驟

    最近購買一臺(tái)新的云服務(wù)器,用于開發(fā)學(xué)習(xí)使用,因此需要安裝很多的組件,下面這篇文章主要給大家介紹了關(guān)于在CentOS系統(tǒng)上安裝Java?JDK8的簡單步驟,需要的朋友可以參考下
    2023-12-12
  • SpringCloud feign無法注入接口的問題

    SpringCloud feign無法注入接口的問題

    這篇文章主要介紹了SpringCloud feign無法注入接口的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Apache?SkyWalking?監(jiān)控?MySQL?Server?實(shí)戰(zhàn)解析

    Apache?SkyWalking?監(jiān)控?MySQL?Server?實(shí)戰(zhàn)解析

    這篇文章主要介紹了Apache?SkyWalking?監(jiān)控?MySQL?Server?實(shí)戰(zhàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 解決J2EE-session在瀏覽器關(guān)閉后失效問題

    解決J2EE-session在瀏覽器關(guān)閉后失效問題

    最近做項(xiàng)目使用的是Spring+SpringMVC+Mybatis框架,maven管理目錄的javaweb端系統(tǒng),對于session的一些問題,在此小編給大家分享到腳本之家平臺(tái),需要的朋友參考下吧
    2018-01-01
  • Java設(shè)計(jì)模式中的單例模式解析

    Java設(shè)計(jì)模式中的單例模式解析

    這篇文章主要介紹了Java設(shè)計(jì)模式中的單例模式解析,單例模式確保一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,需要的朋友可以參考下
    2023-11-11
  • 如何使用Spring工具類動(dòng)態(tài)匹配url

    如何使用Spring工具類動(dòng)態(tài)匹配url

    這篇文章主要介紹了如何使用Spring工具類動(dòng)態(tài)匹配url,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 一文帶你深入認(rèn)識JAVA中的異常

    一文帶你深入認(rèn)識JAVA中的異常

    Java異常處理成為社區(qū)中討論最多的話題之一,下面這篇文章主要給大家介紹了關(guān)于JAVA中異常的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-06-06
  • java中優(yōu)化大量if...else...方法總結(jié)

    java中優(yōu)化大量if...else...方法總結(jié)

    在我們平時(shí)的開發(fā)過程中,經(jīng)常可能會(huì)出現(xiàn)大量If else的場景,代碼顯的很臃腫,非常不優(yōu)雅,下面這篇文章主要給大家介紹了關(guān)于java中優(yōu)化大量if...else...方法的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Java多線程提交按照時(shí)間順序獲取線程結(jié)果詳解流程

    Java多線程提交按照時(shí)間順序獲取線程結(jié)果詳解流程

    在工作中是否存在這樣的場景,多個(gè)線程提交執(zhí)行,你不想全部線程執(zhí)行結(jié)束了獲取結(jié)果,而是有線程完成返回結(jié)果就獲取消費(fèi)。本文提供該場景的工具類,可以直接用哦
    2021-11-11

最新評論

阳泉市| 灵璧县| 渭南市| 岱山县| 禹州市| 介休市| 日照市| 巢湖市| 怀远县| 都匀市| 阿拉尔市| 西丰县| 虹口区| 福建省| 天台县| 兴和县| 如东县| 同仁县| 班戈县| 凯里市| 凤台县| 台北市| 陆良县| 鱼台县| 东宁县| 涞水县| 金昌市| 铜山县| 成安县| 盐津县| 郎溪县| 突泉县| 华蓥市| 开化县| 汉阴县| 建阳市| 彭阳县| 诸城市| 深水埗区| 彭州市| 临安市|