Java静态导入
2016-06-02 15:21
375 查看
1.使用说明
静态导入是JDK5.0引入的新特性要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类,使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。
2.Demo
比如先在一个包中定义一个这样的类:package com.example.learnjava; public class Common { public static final int AGE = 10; public static void output() { System.out.println("Hello World!"); } }
使用一般导入
在另一个包中使用时,如果不用静态导入,是这样用的:前面加入了导入语句,将Common类导入,使用其中的静态成员变量和静态方法时需要加上类名。
package com.example.learnjava2; import com.example.learnjava.Common; public class StaticImportTest { public static void main(String[] args) { int a = Common.AGE; System.out.println(a); Common.output(); } }
使用静态导入
静态导入的语法是:- import static 包名.类名.静态成员变量;
- import static 包名.类名.静态成员函数;
注意导入的是成员变量和方法名
如前面的程序使用静态导入后:
package com.example.learnjava2; import static com.example.learnjava.Common.AGE; import static com.example.learnjava.Common.output; public class StaticImportTest { public static void main(String[] args) { int a = AGE; System.out.println(a); output(); } }
3.优缺点
优点
减少字符输入量,提高代码的可阅读性,以便更好地理解程序。举一个例子来说:
import static java.lang.Math.PI; public class MathUtils{ // 计算圆面积 public static double calCircleArea(double r){ return PI * r * r; } // 计算球面积 public static double calBallArea(double r){ return 4 * PI * r * r; } }
缺点
滥用静态导入会使程序更难阅读,更难维护。静态导入后,代码中就不用再写类名了,但是我们知道类是“一类事物的描述”,缺少了类名的修饰,静态属性和静态方法的表象意义可以被无限放大,这会让阅读者很难弄清楚其属性或方法代表何意,甚至是哪一个类的属性(方法)都要思考一番,特别是在一个类中有多个静态导入语句时,若还使用了*通配符,把一个类的所有静态元素都导入进来了,那简直就是恶梦。相关文章推荐
- 图解Android Studio导入Eclipse项目源码
- 【Java】StopWatch任务执行时间监视器
- spring bean
- spring mvc文件下载
- Java基础第十四天总结
- 《Spring设计思想》AOP设计基本原理
- Eclipse复制粘贴很卡解决方法
- Java应用程序连接数据库--JDBC工具类及其改进
- java随机抽取指定范围不重复的数字
- Struts2常用标签总结
- <mvc:resources> 标签解释
- Spring 使用注解方式进行事务管理
- JAVA生成XML
- Java随机抽取方法、去重的方法
- 缓存报错-初始化失败 ERROR [org.springframework.web.context.ContextLoader] - context initialization failed
- ADT bundle和Eclipse和Android Studio有什么区别?安卓开发该用哪个?
- 访问统计
- java list排序
- java JDBC
- Spring Security结合CAS的配置