1 实例
创建一个StaticClass.java的静态类:
package com.cjg.StaticImport;
public class StaticClass {
public static int MAX12=100;
public static void daying(int x){
System.out.println(x);
}
}
StaticImport.java演示如何使用静态类:
import static com.cjg.StaticImport.StaticClass.*;
import static java.lang.Math.abs;
public class StaticImport {
public static void main(String[] args){
System.out.println(MAX12);
daying(5);
System.out.println(abs(-4));
}
}
执行结果:
100
5
4
2 代码说明
(1)import static com.cjg.StaticImport.StaticClass.* 导入了StaticClass类中的类方法daying()和类变量MAX12。具体调用时只需要直接写类方法和变量名,而不需要写成staticclass.daying(5)和StaticClass.MAX12。 (2)上述代码中import static java.lang.Math.abs 只导入了类Math中的类方法abs()。所以在具体调用时,如果直接写acos(4)就会报错,但是写abs(-4)类方法就不会报错。
3 静态导入说明
(1)老版本java的import只能导入一个类或包中的所有类,而最新特性可以导入静态类和静态域。 (2)不可能一行语句静态导入包中所有的类方法和类变量。不能这样写:
import static java.lang.*;
(3)一个本地方法与一个静态导入的方法同名,则本地方法被调用。