大力:“Java语言引入了静态导入语法(import static),有什么作用?”
卫琴:“能够在需要经常访问同一个类的方法或成员变量的场合,简化程序代码。”
static修饰符静态导入可以简化程序代码
下面是一个未使用静态导入的例子:
class TestStatic {
public static void main(String[] args) {
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.parseInt("223"));
}
}
以上代码需要频繁地访问System类的out成员变量,以及Integer类的一些静态成员。以下代码静态导入了System.out成员变量以及Integer类的所有静态成员,程序代码明显得到了简化,在程序中可以直接访问被导入的内容:
import static java.lang.Integer.*;
import static java.lang.System.out;
public class TestStatic {
public static void main(String[] args) {
out.println(MIN_VALUE);
out.println(MAX_VALUE);
out.println(parseInt("223"));
}
}
值得注意的是,如果静态导入的内容过多,容易引起各种方法名字以及变量名字的冲突。如果明确地指定所导入的内容就可以减少这样的冲突。例如对于以上程序代码,可以把静态导入“java.lang.Integer.*”的语句改写为:
import static java.lang.Integer.MIN_VALUE;
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Integer.parseInt;
上文参考孙卫琴的经典Java书籍《Java面向对象编程》
标签:Java,静态,修饰符,System,导入,static,Integer,out From: https://blog.51cto.com/sunweiqin/7894269