一次导入一个类的所有子类是一种不好的做法吗? [复制]

Posted

技术标签:

【中文标题】一次导入一个类的所有子类是一种不好的做法吗? [复制]【英文标题】:Is it a bad practice to import all the sub classes of a class at a time? [duplicate] 【发布时间】:2016-07-16 20:33:20 【问题描述】:

看起来紧凑而具体,但指定每个基本子类非常耗时,而且需要记住。

具体来说,import java.applet.*;import java.*; 到底有什么区别

【问题讨论】:

通过链接:***.com/questions/147454/… 有些人认为通配符导入是一种不好的做法,句号,例如见Google Java style guide。 【参考方案1】:

具体来说,import java.applet.*;import java.*;到底有什么区别

第一次导入使java.applet 包中的所有类型(类、接口、枚举)对编译器可见,而第二次导入使java 包中的所有类型可见。

请注意,包之间没有“子类”关系 - 包构成包层次结构,但不是类层次结构。使用通配符导入 (import package.*),从单个包中导入所有类型,而不是从整个包层次结构中导入。特别是,import java.* 确实导入java.appletjava 以下的任何其他包。

顺便说一句,在实践中,您应该完全避免通配符导入,因为它们会污染您的命名空间,并且当不同包中存在相同类型名称时可能会导致命名冲突。目前大多数 IDE 会(半)自动组织导入,因此无需使用通配符导入。

【讨论】:

感谢您澄清歧义,一旦我得到 15 个 repos 就会支持您的回答。

以上是关于一次导入一个类的所有子类是一种不好的做法吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

指向 std::thread 的共享指针是一种不好的做法吗?

使用 Java 的默认包是一种不好的做法吗?

在 Mandrill 中,向所有订阅者发送个性化时事通讯是一种不好的做法吗?

JavaScript:动态扩展原型是一种不好的做法吗?

将 AppDelegate 用作 Singleton 是一种不好的做法吗?

使用 js 渲染 html 是一种不好的做法吗? [关闭]