静态导入,是对于import语句的加强,使其不仅能让你省略包名,还能省略静态方法/字段所在类的类名。也就是说,静态导入允许你在调用其它类中定义的静态成员时,忽略类名。
package test;import static java.lang.Math.max;//导入了Math的max方法public class StaticImportTest{ public static void main(String[] args) { System.out.println(max(1, 2));//不用写Math了 }}
eclipse自动导入功能是不包含静态导入的,也就是说写代码的时候不能写个max然后Ctrl+Shift+O等着eclipse帮咱们加上"import static java.lang.Math.max;“的。不过也是,eclipse也不能到所有的类里面找一遍到底哪个类里有一个叫做max的方法,是吧。如果想让工具代劳一下怎么办呢,给eclipse一点提示吧。Window->Preferences->Java->Editor->Content Assist->Favorites页面里,增加你希望参与静态导入的类或类中的静态字段/方法。写代码的时候敲上max,然后Alt+/,eclipse会帮你补全静态导入的代码。当然了前提是开启静态导入选项Window->Preferences->Java->Editor->Content Assist页面选中Use static imports。对于那些特别常用的静态方法/字段,这么做也算方便了。
说实话,虽然这么写看着挺省事的,可是某种程度上降低了代码的可读性。老是觉得这个max是成员方法。