使用这样的语句更方便、更简洁
导入java.awt.*;
而不是导入一堆单独的类
导入java.awt.Panel;
导入java.awt.Graphics;
导入java.awt.Canvas;
…
在import
语句中使用通配符有什么问题
唯一的问题是它会使您的本地名称空间变得混乱。例如,假设您正在编写一个Swing应用程序,因此需要java.awt.Event
,并且还与公司的日历系统接口,该系统具有com.mycompany.calendar.Event
。如果使用通配符方法导入这两项,则会发生以下三种情况之一:
java.awt.Event
和com.mycompany.calendar.Event
之间存在直接命名冲突,因此您甚至无法编译- 实际上,您只导入了一个(两个导入中只有一个导入了*),但它是错误的,您很难弄清楚为什么代码声称类型是错误的
- 编译代码时,没有
com.mycompany.calendar.Event
,但当他们后来添加一个时,以前有效的代码突然停止编译
显式列出所有导入的优点是,我可以一目了然地告诉您要使用哪个类,这使得阅读代码变得更加容易。如果您只是在做一件简单的一次性工作,那么没有什么明显的错误,但是未来的维护人员会感谢您的清晰