[英]Is it possible to have 2 classes with the same name and in the same package?
[英]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.