什么是静态导入?
静态导入是在jdk1.5之后引入的心概念,在你自己的类中使用静态导入,你就可以使用其它类中定义的静态类方法和类变量,而且这些类方法和类变量就像在本地定义的一样。也就是说,静态导入允许你在调用其它类中定义的静态成员时,可以忽略类名。
静态导入的语法:
普通导入的语法是 import 加上类名,而静态导入是import static 加上类名。例子如下:
普通导入和静态导入:

1 package cn.cntaiping_01; 2 3 import java.util.HashMap; //普通导入 4 import java.util.Map; //普通导入 5 6 import static java.lang.Math.*; //静态导入 7 public class Static_import { 8 /** 9 * @param args 10 */ 11 public static void main(String[] args) { 12 System.out.println(Math.abs(3-9)); 13 14 15 Map<String,Integer>map_static=new HashMap<String, Integer>(); 16 17 map_static.put("001", abs(9-20)); //静态导入后,直接使用Math类的静态方法 18 19 map_static.put("002", Math.abs(3-9)); //普通的方法 20 21 System.out.println(map_static); 22 } 23 24 }
更明显的区别:
未采用静态导入之前

1 package cn.cntaiping_01; 2 3 4 public class Static_import { 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 System.out.println("这是未采用静态导入之前"); 10 } 11 12 }
采用了静态导入之后

package cn.cntaiping_01; import static java.lang.System.*; public class Static_import { /** * @param args */ public static void main(String[] args) { out.println("这是未采用静态导入之前"); } }
采用静态导入必须要知道的那些事:
1、虽然该特性通常称为“静态导入”,但语法必须是import static,后面跟你想导入的static成员的完全限定名称,或者通配符。
2、提防含糊不清的命名static成员。