java中的静态导入

package com.panther.sta;

/**
 * 知识点详解:
 * import static静态导入是JDK1.5中的新特性。
 * 一般我们导入一个类都用 import com.....ClassName;
 * 而静态导入是这样:import static com.....ClassName.*;
 * 这里的多了个static,还有就是类名ClassName后面多了个 .* ,
 * 意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,
 * 只要把 .* 换成静态方法名就行了。然后在这个类中,
 * 就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。
 * 这种方法的好处就是可以简化一些操作,
 * 例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。
 * 但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便
 * 在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,
 * 虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。
 * 当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。
 * 下面是静态导入后的代码
 */


import static java.lang.System.*;
import static java.lang.Integer.*;
/**
 * 静态导入
 * Created by panther.dongdong on 2015/11/15.
 */
public class StaticImport {
    public static void main(String[] args) {
        out.println(MAX_VALUE);
        out.println(toHexString(42));
    }
}


/**
 * 结果详解总结:
 * (1)虽然该特性通常称为“静态导入”,但语法必须是import static,
 * 后面跟你想导入的static成员的完全限定名称,或者通配符。
 * 在本例中,我们在System类的out对象上进行静态导入。
 * (2)在本例中,我们可能想使用java.lang.Integer类的几个static成员。
 * 该静态导入语句使用通配符来表达“我想在此类中的所有静态成员上进行静态导入”。
 * (3)现在我们终于看到静态导入特性的好处!我们不必在System.out.println中键入System。太好了!
 * 另外,我们不必在Integer.MAX_VALUE中键入Integer。
 * 因此,在这行代码中,我们能够将快捷方式用于静态方法和一个常量。
 * (4)最后,我们进行更多的快捷操作,这次针对Integer类的方法。
 * 关于该特性,我们已经有点儿讽刺意味儿了,但不仅我们是这样的。
 * 我们不认为节省少量的击键次数会让代码难于阅读一点,但许多开发人员要求将它添加到语言中。
 * 下面是使用静态导入的几条原则:
 * 你必须说import static, 不能说static import。
 * 提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,
 * 引用MAX_VALUE将导致一个编译器错误,因为Integer和Long都有一个MAX_VALUE常量,
 * 并且Java不会知道你在引用哪个MAX_VALUE。
 * 你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。
 */


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值