华南俳烁实业有限公司

java

當前位置:中華考試網(wǎng) >> java >> java教程 >> 文章內(nèi)容

Java面向?qū)ο螅簆ackage的目錄結(jié)構(gòu)

來源:中華考試網(wǎng)  [2016年2月12日]  【

類放在包中會有兩種主要的結(jié)果:

  • 包名成為類名的一部分,正如我們前面討論的一樣。
  • 包名必須與相應的字節(jié)碼所在的目錄結(jié)構(gòu)相吻合。

下面是管理你自己java中文件的一種簡單方式:

將類、接口等類型的源碼放在一個文本中,這個文件的名字就是這個類型的名字,并以.java作為擴展名。例如:

// 文件名 :  Car.java

package vehicle;

public class Car {
   // 類實現(xiàn)  
}

接下來,把源文件放在一個目錄中,這個目錄要對應類所在包的名字。

....\vehicle\Car.java

現(xiàn)在,正確的類名和路徑將會是如下樣子:

  • 類名 -> vehicle.Car

  • 路徑名 -> vehicle\Car.java (in windows)

通常,一個公司使用它互聯(lián)網(wǎng)域名的顛倒形式來作為它的包名.例如:互聯(lián)網(wǎng)域名是apple.com,所有的包名都以com.apple開頭。包名中的每一個部分對應一個子目錄。

例如:這個公司有一個com.apple.computers的包,這個包包含一個叫做Dell.java的源文件,那么相應的,應該有如下面的一連串子目錄:

....\com\apple\computers\Dell.java

編譯的時候,編譯器為包中定義的每個類、接口等類型各創(chuàng)建一個不同的輸出文件,輸出文件的名字就是這個類型的名字,并加上.class作為擴展后綴。 例如:

// 文件名: Dell.java

package com.apple.computers;
public class Dell{
      
}
class Ups{
      
}

現(xiàn)在,我們用-d選項來編譯這個文件,如下:

$javac -d . Dell.java

這樣會像下面這樣放置編譯了的文件:

.\com\apple\computers\Dell.class.\com\apple\computers\Ups.class

你可以像下面這樣來導入所有 \com\apple\computers\中定義的類、接口等:

import com.apple.computers.*;

編譯之后的.class文件應該和.java源文件一樣,它們放置的目錄應該跟包的名字對應起來。但是,并不要求.class文件的路徑跟相應的.java的路徑一樣。你可以分開來安排源碼和類的目錄。

\sources\com\apple\computers\Dell.java
\classes\com\apple\computers\Dell.class

這樣,你可以將你的類目錄分享給其他的編程人員,而不用透露自己的源碼。用這種方法管理源碼和類文件可以讓編譯器和java虛擬機(JVM)可以找到你程序中使用的所有類型。

類目錄的絕對路徑叫做class path。設置在系統(tǒng)變量CLASSPATH中。編譯器和java虛擬機通過將package名字加到class path后來構(gòu)造.class文件的路徑。

\classes是class path,package名字是com.apple.computers,而編譯器和JVM會在 \classes\com\apple\compters中找.class文件。

一個class path可能會包含好幾個路徑。多路徑應該用分隔符分開。默認情況下,編譯器和JVM查找當前目錄。JAR文件按包含Java平臺相關(guān)的類,所以他們的目錄默認放在了class path中。

責編:ljnbset
  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學歷考試
息烽县| 亚东县| 龙门县| 库车县| 怀集县| 金华市| 天气| 英山县| 七台河市| 镇雄县| 东山县| 商洛市| 长丰县| 西城区| 南澳县| 德江县| 紫阳县| 安平县| 海城市| 宜章县| 漯河市| 珠海市| 新泰市| 漳浦县| 肥东县| 原阳县| 冀州市| 阿克| 颍上县| 和龙市| 眉山市| 南江县| 奉化市| 新河县| 确山县| 清苑县| 始兴县| 伊宁市| 弥勒县| 定日县| 喜德县|