我们知道import关键字是用来导入一个类的,当我们引用别的类时,就需要用到它。
那么,为什么在使用别的类时,先要导入这个类呢?
我想是为了方便编译器编译,否则,编译器怎么知道你使用的类具体是哪一个呢(可能会有重名的类)?
import static关键字是用来导入一个类的静态方法的,然后我们可以直接用方法名来访问这个静态方法,不需要加上类名。其实通过反编译,我们发现,编译器其实在编译时,自动帮我们加上了类名。
那么,为什么不能通过import来导入一个非静态方法呢?假如这样做,那么编译器在编译时,还需要为我们创建一个实例,这样编译器的工作量太大了,关键是编译器不知道要调用哪个构造方法来创建一个实例。