麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

java包 和 物理目錄 解惑(轉(zhuǎn)載)

2019-11-15 00:59:22
字體:
供稿:網(wǎng)友
java包 和 物理目錄 解惑(轉(zhuǎn)載)

原文:http://www.companysz.com/moveofgod/p/3809653.html

今天做 JUnit 實驗, 發(fā)現(xiàn)在物理實際不同的目錄(src, testsrc)下可以使用相同的包名, 并且在這兩個目錄下, 都有個子目錄 coolUnit (這個子目錄是配合 package 使用的) 問題:

1. 那么包名和實際物理路徑有什么關系?

答: 包名必須出現(xiàn)在實際路徑中的一部分, 只是一段, 不可能是絕對路徑. 而這個段的起點, 就是包含了classpath目錄的一個.

可以看到如下代碼, 是eclipse 自動生成的 .classpath文件, 其中classpath就包含了testsrc, src, 而這兩個目錄下都有個子目錄 coolUnit, 這個就是包名的開始.

<?xml version="1.0" encoding="UTF-8"?><classpath>    <classpathentry kind="src" path="src"/>    <classpathentry kind="src" path="testsrc"/>    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>    <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>    <classpathentry kind="output" path="bin"/></classpath>

2. 相同包名 如果可以存儲在不同物理路徑下, java 編譯器如何找到對應的類 ?

答: 當然可以存儲在不同的物理路徑下, 只不過這兩個路徑中, 有一部分必須相同, 即包名包括的部分. 置于java編譯器如何找到, 簡單, 就是把從包名的起點的上層目錄添加到classpath中了, 這樣就可以找到對應了類了. 類似上邊的testsrc, src, 這兩個目錄都被添加進了classpath(當然這個工作是eclipse替我們完成的, 如果是我們自己編譯, 不借助eclipse, 就需要指定 javac –classpath 把這兩個目錄加進去)

3. 這里肯定跟classpath 有關, 不可能你隨便寫個java類, java 編譯器都能找到, 那么如何引入自己寫的類呢?

如何引用自己的類的, 就是將自己的類的包名的起點的上層目錄作為 javac –classpath參數(shù)傳入, 這樣的目的是讓java編譯器找到你的類所在的位置.

綜上: 包名是抽象出來的類的空間, 雖然在物理上存儲需要文件夾配合層次, 但是關鍵, 這個層次不是絕對路徑, 只是路徑中的一部分, 所以, 我們完全可以將代碼放在不同路徑下, 只要路徑中對應包名的部分相同就可以了.

為了更好地組織類,Java提供了包機制。包是類的容器,用于分隔類名空間。如果沒有指定包名,所有的示例都屬于一個默認的無名包.

Java中的包一般均包含相關的類,例如,所有關于交通工具的類都可以放到名為Transportation的包中.

包語句格式:

package pkg1[.pkg2[.pkg3…]];

程序中如果有package語句,該語句一定是源文件中的第一條可執(zhí)行語句,它的前面只能有注釋或空行。另外,一個文件中最多只能有一條package語句.

包的名字有層次關系,各層之間以點分隔。包層次必須與Java開發(fā)系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)相同(并非絕對路徑)。通常包名中全部用小寫字母,這與類名以大寫字母開頭,且各字的首字母亦大寫的命名約定有所不同。

當使用包說明時,程序中無需再引用(import)同一個包或該包的任何元素。import語句只用來將其他包中的類引入當前名字空間中。而當前包總是處于當前名字空間中.

如果文件聲明如下:

package java.awt.image

則此文件必須存放在Windows的java/awt/image目錄下或unix的java/awt/image目錄下。

問題出現(xiàn)了: 因為路徑不可能是絕對的, 即從根目錄開始一直向下, 所以目錄的開始位置, 只需要是classpath包含的位置就可以了.

這才是問題解決的關鍵. 從這點說, 包名是抽象的


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕h | 亚洲人成中文字幕在线观看 | 精品国产精品久久 | 泰剧19禁啪啪无遮挡 | 免费在线观看午夜视频 | 亚洲二区免费 | 国产午夜精品视频免费不卡69堂 | 亚洲国产成人一区二区 | 久久伊人国产精品 | 日日狠狠久久偷偷四色综合免费 | 91久久精品一区二区 | 激情视频日韩 | 亚洲片在线 | 国产精品自拍99 | 欧美日韩国产中文字幕 | 海外中文字幕在线观看 | 国产精品99久久99久久久二 | 欧美视屏一区二区 | 国产一区视频免费观看 | 国产一级毛片国语版 | 成人毛片免费播放 | 黄色网址电影 | 看毛片电影| 成人小视频免费在线观看 | 在线亚州| 福利在线国产 | 欧美日韩在线播放 | 国产一区二区三区四区五区在线 | 一级片999 | 精品亚洲夜色av98在线观看 | 日本成年免费网站 | 销魂美女一区二区 | 成人午夜高清 | 369看片你懂的小视频在线观看 | 思思久而久而蕉人 | 久久久久北条麻妃免费看 | 美国黄色毛片女人性生活片 | 在线播放一级片 | 美女黄色毛片免费看 | 深夜视频福利 | 蜜桃网站在线观看 |