簡體   English   中英

同一源代碼包中是否可以包含.class和.java類?

[英]is it possible to have .class and .java classes inside the same source code package?

在拋出一些開源程序源代碼時,我意識到有些項目的源代碼文件中包含.class和.java! 我知道.class是已經編譯的.java文件,而.class是二進制文件,但是是否可以在項目中具有已編譯和未編譯的文件? 如果是,那為什么要這么做? 有什么好處?

長話短說:我正在嘗試研究不同項目中的測試類,在那里我意識到有些程序在(build)文件夾下有測試文件,它們以.class為擴展名! 這些類的行為是否與擴展名為.java測試包下的測試類有所不同? 反正有反編譯它們嗎?

謝謝

類文件和Java文件共享由包結構定義的相同子目錄結構。

諸如eclipse之類的IDE允許您將類文件放入與相應源文件相同的文件夾中,或放入另一個(重復的)文件夾結構中。

我會說,您選擇哪種選擇取決於口味。

實際上,如果您在運行Java編譯器( javac )時未指定'-d'選項來指示將生成的類放置到的特定目錄是可能的,默認情況下,它將把它們放置在與源文件相同的目錄中。

這樣做沒有沖突,因為javac編譯器和jvm啟動器( java )不在尋找相同的文件擴展名。

但是,通常認為最佳做法是將生成的類文件放在項目下的單獨文件夾中:類,bin等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM