2010-06-09 51 views
1

爲weSuppose,我創建與下面的類爲什麼Java源文件進入目錄結構?

  1. com.bharani.ClassOne
  2. com.bharani.ClassTwo
  3. com.bharani.helper.HelperOne
  4. com.bharani.helper.support.HelperTwo

與文件立即把文件夾 'src' 中下一個Java項目

  1. SRC/ClassOne.java
  2. SRC/ClassTwo.java
  3. SRC/HelperOne.java
  4. SRC/HelperTwo.java

和使用命令

編譯它們

$ javac的-d類的src/*。java的(假設classes目錄下存在)

編譯器編譯這些文件,並放在合適的子目錄中的類文件的「類」目錄中這樣

  1. 類/ COM/bharani/ClassOne.class
  2. 類/ COM/bharani/ClassTwo.class
  3. 類/ COM/bharani /幫手/ HelperOne.class
  4. 類/ COM/bharani /幫手/支持/ HelperTwo.class

因爲規範的任務是,類應該進入適當的目錄結構。精細。

我的問題是:當我使用IDE,比如Eclipse的 NetBeans的,他們創建的目錄結構(這裏「src」目錄)的源代碼目錄中。這是爲什麼?它是強制性的嗎?或者,這只是一個慣例?

謝謝。

回答

4

主要約定。源對二進制結構進行鏡像是有意義的。

另外,如果你有兩個類具有相同名稱(但在不同的包),你會如何存儲源,如果不是在不同的目錄?

保持在短短的一個文件夾中的源精細的小項目,但一旦你有一個大項目(數百個班),分組源爲包裝更便於管理使事情。

1

我認爲這是強制性的,但你的經驗表明並非如此。無論哪種方式,這只是常識,對吧?大型項目有很多源文件 - 爲什麼通過爲源文件和類文件建立不同的結構讓生活更加複雜?

4
Is it mandatory? 

沒有

Or, is it just a convention? 

是,以反映你的源代碼樹包結構。

我一直認爲,Java的有點破:

這似乎是層次式的,但事實並非如此。

它是一個簡單的(唯一的)前綴來定義獨立的普通命名空間。

+1

這是一個經常被忽視的事實,即Java包實際上不是分層的。相反,Scala包是! – thSoft 2010-06-09 10:29:58

相關問題