在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。

当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。下面是静态导入前后的代码实例:

在静态导入之前:

public class TestStatic {

public static void main(String[] args) {

System.out.println(Integer.MAX_VALUE);

System.out.println(Integer.toHexString(42));

}

}

在静态导入之后:

import static java.lang.System.out; import static java.lang.Integer.*;

public class TestStaticImport {

public static void main(String[] args) {

out.println(MAX_VALUE);

out.println(toHexString(42));

}

}

两个类都产生相同的输出:

2147483647

2a

让我们看一下使用静态导入特性的代码中将发生什么:

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方法上进行静态导入。

in a static way java_JAVA静态导入(inport static)详解相关推荐

  1. Android VCard联系人备份恢复(导入/导出)详解

    原文地址为: Android VCard联系人备份恢复(导入/导出)详解 首先我们简单的看下在Android中联系人的存储结构. 工作环境:android 2.3.3 联系人的主要数据存放在raw_c ...

  2. Java: static,final,代码块 的详解

    Java: static,final,代码块 的详解 每博一文案 山本文绪说过这样一句话:哪些决定放弃了的事,就请放弃得干干净净.哪些决定再也不见面的人,就真 的不要再见面了,不要再做背叛自己的事,如 ...

  3. FBX导入虚幻5_详解

    FBX导入虚幻5_详解 FBX导入虚幻5_详解 格式 导出 模型 导入方式 FBX导入选项 FBX导入虚幻5_详解 通用模型格式fbx.obj.abc都可以导入UE 格式 fbx和obj格式的共同点: ...

  4. php mysql source_Mysql数据库导入命令Source详解

    Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u root -p data ...

  5. endnotex7怎么导入中文文献_EndNote X7自动导入PDF功能详解 | 科研动力

    在Endnote X7 新功能简介一文中对于EndNote X7的自动导入PDF功能作了一简要介绍,但是有些人对于EndNote自动导入PDF的功能还是有疑问,本文就EndNote如何自动导入PDF功 ...

  6. python接入excel_使用python将excel数据导入数据库过程详解

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  7. mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解

    Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql ...

  8. exp/expdp 与 imp/impdp命令导入导出数据库详解

    exp/expdp 与 imp/impdp命令导入导出数据库详解 一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_chi ...

  9. 360浏览器怎么导入html,360浏览器收藏夹导入/导出方法详解

    360浏览器收藏夹导入/导出方法详解 我们在使用360浏览器的时候,如果需要将收藏夹导出备份或者将已有导出的收藏夹导入,该如何操作呢?今天一起来看看360浏览器收藏夹导入/导出方法. 360浏览器收藏 ...

最新文章

  1. 避免App沦为“僵尸”的12个秘诀
  2. Python判断字符串是否为字母或者数字
  3. grub4dos初级教程-入门篇
  4. MySQL初始化脚本mysql_install_db使用简介及选项参数
  5. 【SQL Server配置管理器】提示:无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问...
  6. 搭建kafaka集群
  7. Matplotlib入门详细教程
  8. 压缩文件的格式zip和rar有什么区别?
  9. node 后台重定向_Node.js如何实现重定向
  10. 米游社-原神每日签到含DS算法
  11. 「2019.7.22 考试」AC和WA0一步之遥
  12. 管理信息系统需求调研分析指南-软件工程-www.knowsky.com
  13. 2022计算机二级全套资料:视频+练习软件+真题资料
  14. 信息化系统要如何选型?
  15. springMVC+mybatis+maven搭建过程
  16. 《Spring事务传播行为详解》经典例子 看完这篇,别的不用看了
  17. jQuery 引入和使用
  18. 【图示化】SQL Server概念:超键(码)、候选键(候选码)、主键(主码)、主属性与非主属性、外键
  19. python入门教学反思_Python语言教学反思 --方少芹名师工作室
  20. 普惠AI时代,抓住机遇奋力一搏

热门文章

  1. html进度条实现原理,HTML5 progress进度条详解
  2. 荟聚NeurIPS顶会模型、智能标注10倍速神器、人像分割SOTA方案、3D医疗影像分割利器,PaddleSeg重磅升级!
  3. Axure——快捷键
  4. Java修炼之凡界篇 筑基期 第02卷 语法 第01话 注释
  5. 利用arduino UNO配合Orangepi 4B实现制作机器人
  6. 如何搭建好的数据指标体系?
  7. Android UI RecyclerView讲解
  8. 【DockerCE】Docker-CE 23.0.2正式版发布
  9. 工程师解读:为何华为手机干不过小米
  10. 哈工大计算机网络WEEK1-2学习总结