导入方法直接使用是什么鬼? 静态导入

静态导入

  项目开发时经常碰到这样的情况,我们需要使用一个或多个类的静态方法或静态变量。都知道,在使用静态方法或变量时,需要添加其所属的类名前缀,非常麻烦。静态导入语句提供了一种简洁访问静态变量或静态方法(即调用静态方法或使用静态成员变量时,不用添加其类名前缀。也就是说,静态导入能使静态方法或静态变量在当前类中直接可见)的导入方式。

  下面我们以常用的工具类Math对比一下使用静态导入的效果。
Math中定义了好多静态方法或变量,如:

public static final double PI = 3.141592653589793;

public static double cos(double a){
...
}

传统方式中,我们要在另一个类中使用这些静态对象,需要这样写:

//类前导入使用的类
import java.lang.Math;
...
//类中的一条语句
double r = Math.cos(Math.PI * theta);

使用静态导入后,我们可以这样写:

//类前导入使用的类
import static java.lang.Math.*;
...
//发现没,调用Math的静态方法或静态变量不要加Math(类前缀)了!
double r = cos(PI * theta);

静态导入语法

//导入类的所有成员
import static 包名.类名.*;
//导入要用的类的静态成员
import static 包名.类名.具体静态成员;

//例如:
import static java.lang.Math.*;
import static java.lang.Math.PI;

总结

  • 静态导入就是简化使用类的静态成员的代码。
  • 实现静态导入的方法就是在 导入语句import 后加个static 关键字。
  • 使用静态导入的便利方式就是使用导入类的静态成员不用加类前缀。

注意

使用静态导入可以简化代码,但过度使用会降低代码可读性和可维护性。因为维护人员不知道那个类定义了这个静态成员,也与类的普遍使用方式不符。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值