import问题!

来源:百度知道 编辑:UC知道 时间:2024/05/05 01:39:36
经常看到这样的:import java.awt.*;
import java.awt.event.*;
第一行import java.awt.*;没有包括import java.awt.event.*;吗?不是说用*代表awt里的所有接口吗?

*代表awt里的所有接口,这样说并没错,但只包括所以的文件,而不包括awt里面的文件夹,所以必需给出event.
为什么不直接写成import java.*;呢?因为这样有一个很大的问题,如果文件有重名,那么编译器是选择哪一个好呢?显然一个文件夹里的文件是绝对不会有重名现象的.

import java.awt.*; //包括所有的awt下的class,不含awt的子目录
import java.awt.event.*; //包括所有的awt/event下的class,不含event的子目录

这就是包的特性 * 它只代码当前包下的所有 类 接口 枚举 的通配

它的子包就不包括了。

又看见了 这样的问题:
java.awt.*只是引用java/awt这个包里的所有*.class文件,不能引用event这个文件夹.用java.awt.event.*才是引用java/awt/event这个包里的*.class文件.
不知道这样解释,能不能理解!

*代表awt里的所有接口,但只包括awt的文件,而不包括awt里面的文件夹,所以必需给出event.
还有一点,最好就是把你要导入的类写具体,这样运行效率会高一点.

java.awt.*只是引用java/awt这个包里的所有*.class文件,不能引用event这个文件夹.用java.awt.event.*才是引用java/awt/event这个包里的*.class文件