一次导入一个类的所有子类是一种不好的做法吗? [复制]
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.applet
或java
以下的任何其他包。
顺便说一句,在实践中,您应该完全避免通配符导入,因为它们会污染您的命名空间,并且当不同包中存在相同类型名称时可能会导致命名冲突。目前大多数 IDE 会(半)自动组织导入,因此无需使用通配符导入。
【讨论】:
感谢您澄清歧义,一旦我得到 15 个 repos 就会支持您的回答。以上是关于一次导入一个类的所有子类是一种不好的做法吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
指向 std::thread 的共享指针是一种不好的做法吗?
在 Mandrill 中,向所有订阅者发送个性化时事通讯是一种不好的做法吗?