基本介绍
Java编程思想的第三章,使用了
|
|
我们接着看代码的具体实现
|
|
import
这个语法大家都知道是导入包的,import static
第一次见会觉得很奇怪,因为import static
是Java SE5新增加的,称之为静态导入
,通过static
关键字我们可以知道这是导入静态相关的功能,可以导入静态修饰的变量、常量、方法和内部类都可以导入。
使用方式
导入整个类
使用import static xxx.xxx.类名.*;
这样我们在Assignment
的类中可以访问Print
的能够访问到的静态方法和静态成员
|
|
导入静态方法
使用import static xxx.xxx.类名.方法名;
这样我们在Assignment
的类中可以访问Print
的某个静态方法,这里使用import static xxx.xxx.类名.print;
来举例。值得注意的是,Print类中的print方法有重载,所以print的重载方法都可以访问
|
|
导入静态成员
使用import static xxx.xxx.类名.成员;
这样我们在Assignment
的类中可以访问Print
的某个成员,这里使用 import static xxx.xxx.类名.number;
来举例。
|
|
导入静态内部类
使用import static xxx.xxx.类名.内部类;
导入系统的类
除了使用自己定义的类之外,我们一样可以使用系统的类,如下
|
|
注意事项
成员重名的情况
假如成员重名,会对导入的成员进行覆盖,使用当前类中的成员
方法重名的情况
假如方法重名,一样参数的方法会进行覆盖,使用当前类的方法;参数不一样的进行重载。
对于多个导入的类,有重名的会进行报错。
我们知道在Integer类和Long类中都有MAX_VALUE,当我们都一起使用静态导入的时候会报错,The field MAX_VALUE is ambiguous
,意思是编译器分不清到底是谁的MAX_VALUE。
|
|
总结
import static
这个新的语法给我们带来便利,我们可以更简短来编写代码,但是也应该多注意重名的情况。