<分区>
为什么 import one.two.*
不包含 import one.two.three.MyClass
?
Java 不应该有类似import one.two.**
的东西吗?或者有什么原因(除了他们没有做,而不是他们做不到)?
谢谢
<分区>
为什么 import one.two.*
不包含 import one.two.three.MyClass
?
Java 不应该有类似import one.two.**
的东西吗?或者有什么原因(除了他们没有做,而不是他们做不到)?
谢谢
最佳答案
Java 并不将包视为真正的子类化;虽然 java.util
和 java.util.concurrency
可能看起来第二个是第一个的一部分,但它们被视为完全独立的并且点主要是为了整洁.
这意味着您不必害怕将您的类或接口(interface)命名为与以后在某些超包或子包中声明的另一个相同的类或接口(interface),这也意味着您真的应该多写几个进口线。
正如 Peter Lawrey 所解释的,这一决定背后的原因源于 Java 普遍倾向于简单性。最佳做法通常是根本不使用导入通配符。
关于java - 为什么 Java 没有 "deep"通配符导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576509/