什么是多次导入库的需要

dav*_*ave 3 java compiler-construction import package

在大多数代码示例中,我看到人们这样做.

import javax.swing.*; // for the frame
import java.awt.*; // for the checkBox and the label
import java.awt.event.*; // for the checkBox listener
Run Code Online (Sandbox Code Playgroud)

如果我说的是导入java.awt.*它是正确的,它会导入其中的所有内容,因此不需要说import java.awt.event.*; 还是有提速?任何人都可以解释导入库的作用,是导入一个简单的文本类,包含在源代码中还是告诉jvm包含导入的字节代码?所以在java中导入只会切换命名空间,所以我不必输入长类名?

And*_*s_D 5

忘记术语子包.快点做吧.它在java世界中不存在.

java.awt是一个包(名称空间),java.awt.event是另一个,它们没有任何共同之处.他们的名字有一些共同点,但这些包完全不相关.import语句从一个包(名称空间)中导入一个类或一些类.如果需要来自不同包(命名空间)的类,则必须添加另一个import语句.


顺便说一句,回应对另一个答案的评论:你不必使用import语句.如果不使用它们,则只需在java源文件中使用完全限定的类名(除了:来自类java.lang和当前包的类是自动导入的).因此import可以被认为是保持代码可读的便捷方式.

导入为了在源文件中使用的一类要求.