簡體   English   中英

Java - 兩個類,名稱相同,包相同,但在不同的文件夾中

[英]Java - Two classes, same name, same package but in different folders

我有兩個類具有相同的類名並使用相同的包名。 但是,這兩個類文件位於不同的目錄中。 兩者之間不同的另一件事是每個類中都有沒有出現在另一個類中的方法。 本質上,我想使用相同的名稱但不同的文件夾將方法拆分為兩個單獨的文件。

從理論上講,我認為這是可能的,因為 Java 編譯器在構建輸出時確實會維護目錄結構。 因此,在運行時,如果在類中調用了一個方法,那么 Java 可能會在任何包含該方法的文件中查找該方法。

這甚至可能嗎? 我正在使用 IntelliJ,它似乎只讓我選擇一個類文件,但在需要解析方法時不能同時選擇兩個文件。

不,這是不可能的。 Java 不會“查找方法”,它會通過完全限定名稱解析單個 .class 文件,在那里查找方法,如果不存在則拋出異常。 您需要找到一種不同的方式將您的代碼拆分為多個類。

如果類在不同的包中,可以通過添加限定符。

@Qualifier("yourClassQualifierName1")

@Qualifier("yourClassQualifierName2")

暫無
暫無

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

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