簡體   English   中英

如果 2 個類有相同的 package 語句怎么辦

[英]What to do if 2 classes have the same package statement

我遇到了一個問題,其中來自 2 個不同包(屬於同一組)的 2 個類具有相同的名稱和 package 語句

Package 1

package com.placeholder.constants.Constants

public class Constants{}

Package 2

package com.placeholder.constants.Constants

public class Constants{}

如果我正在研究 Package 1 但想在 Package 2 中引用此常量 class ,這是否可能?

不能在同一 package 中復制 class 名稱

其中來自 2 個不同的 package 的 2 個類

但它們不是兩個不同的包。 您為兩者使用了相同的 package 名稱。

想在 Package 2 中引用這個常量 class

使用任一:

  • 不同的 package 名稱
  • 您的新 class 的不同名稱

由於顯而易見的原因,您不能在同一個 package 中定義兩個具有相同名稱的類。

Java 中的包的目的是創建一個命名空間 您重復的 class 名稱違反了該命名空間。

設計問題

package com.placeholder.constants.Constants

這不是正確的 package 名稱。 您已將 class 名稱混合到 package 名稱中。 package 應該是package com.placeholder.constants

您的這個交叉命名問題增加了您的 class 設計不是最優的可能性。 您可能想暫停片刻,看看更大的圖景。

如果你有那么多常量要命名,我想知道其中一些是否真的應該是enum類型。 請參閱Oracle 的教程 提示:在 Java 16 及更高版本中,枚舉可以在本地定義,在一個方法內 - 定義為嵌套 class 或定義為單獨的 ZA2F2ED4F8EBC2CBB4C21A29DC40AB6DZ 的新替代方法。

您正面臨名稱沖突。 如果可能,嘗試輸入package.class_location的全名

暫無
暫無

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

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