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重要技术语法之静态导入的主要内容,如果未能解决你的问题,请参考以下文章

Java之静态代码块和静态类静态导入

Java重要技术语法之可变参数

Java重要技术语法之增强for循环

写出java中定义方法的语法格式,并说明一个方法可以有多少个参数,多少个返回值?

Java中的静态导入

Java基础总结之Thymeleaf详解