为什么Java没有"深入"的通配符导入?

One*_*ree 5 java import wildcard

为什么不import one.two.*包括import one.two.three.MyClass?Java不应该有类似的东西import one.two.**吗?或者有什么理由(除了他们没有做到,不是他们不能这样做)?

谢谢

Mum*_*tes 8

Java不会将包视为真正的子类化; 虽然java.util并且java.util.concurrency可能看起来第二个在某种程度上是第一个的一部分,但它们被视为完全独立,并且点主要用于整洁.

这意味着您不需要害怕将您的类或接口命名为与以后在某个超级或子包中声明的另一个类相同的接口,这也意味着您应该只写一些额外的导入行.

正如Peter Lawrey解释的那样,这一决定背后的原因源于Java对简单性的普遍倾向.最佳做法通常是永远不要使用导入通配符.