Java重要技术语法之静态导入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java重要技术语法之静态导入相关的知识,希望对你有一定的参考价值。
1.1. 静态导入
静态导入(import static)是一种不推荐使用的导入类的静态成员的语法。相对于普通的导入,静态导入有一个好处是可以少些几个单词,不必写类名。
有一个被导入类:
/** * @Title: HelloWorld.java * @Package com.test.javatechnology.staticimport * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:03:24 * @version V1.0 */ package com.test.javatechnology.staticimport.si; /** * @ClassName: HelloWorld * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:03:24 * */ public class HelloWorld { public static void hello(){ System.out.println("Hello"); } public static void say(){ System.out.println("Say"); } }
现在使用普通导入的方式来导入这个类并调用两个静态方法:
/** * @Title: StaticImportTest.java * @Package com.test.javatechnology.staticimport * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:05:44 * @version V1.0 */ package com.test.javatechnology.staticimport; import com.test.javatechnology.staticimport.si.HelloWorld; /** * @ClassName: StaticImportTest * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:05:44 * */ public class StaticImportTest { /** * @param args */ public static void main(String[] args) { HelloWorld.hello(); HelloWorld.say(); } }
使用静态导入的方式:
import static com.test.javatechnology.staticimport.si.HelloWorld.*;
此处用*号导入所有静态方法和静态变量,也可以使用具体成员名称只静态导入一个特定的方法。
此时不能再写类名,否则编译错误。
HelloWorld.hello();
HelloWorld.say();
正确的写法如下:
hello();
say();
静态导入的缺点是有可能产生名字冲突,降低了代码的可理解性。
完整代码如下所示:
/** * @Title: StaticImportTest.java * @Package com.test.javatechnology.staticimport * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:05:44 * @version V1.0 */ package com.test.javatechnology.staticimport; import static com.test.javatechnology.staticimport.si.HelloWorld.*; /** * @ClassName: StaticImportTest * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月19日 下午8:05:44 * */ public class StaticImportTest { /** * @param args */ public static void main(String[] args) { hello(); say(); } }
以上是关于Java重要技术语法之静态导入的主要内容,如果未能解决你的问题,请参考以下文章