在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));
}
}
两个类都产生相同的输出:
1. 2147483647
2. 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方法上进行静态导入。
分享到:
相关推荐
db2 export和inport命令相关
zabbix批量导入监控主机 用途 从excel表中批量导入被监控主机 自动根据分组名称创建分组 根据模板名称匹配主机监控模板 使用前提 程序需要使用pyzabbix xlrd requests三个库 pip install xlrd pip install requests ...
Matlab/simulink会遇到批量修改模型中变量以及端口的问题,本脚本实现修改simulink模型当前层Inport端口为From。
Console Importer:从Chrome控制台轻松导入JS和CSS资源
对于那些希望能够在运行时将MP3,WAV和FLAC格式的音频文件导入游戏的人来说,此插件将非常有用(例如,如果游戏涉及从播放器的设备内存中导入音频文件)。 在C ++和Blueprints中都易于使用。 产品特点 较小的资料库...
useragentswicher 更新至2014-02-15日为止... 导入这个列表吧,包括了目前主流的浏览器标识 使用方法 先安装好,重启火狐浏览器之后,打开菜单栏“工具”“Dafault User Agent”“Edit User Agents”“Import…”导入
Python3.5安装包,32和64位都有。还有Python游戏开发的Pygame模块安装文件。
说明:用于查看VB所导入的API函数,支持拖放操作
wemake-python-styleguide 欢迎使用有史以来最严格,最有主见的python linter。 wemake-python-styleguide实际上是一个插件,带有作为依赖项。快速开始pip install wemake-python-styleguide 您还需要使用创建setup....
You can install the package with pip: pip install pyfpgrowth Then, to use it in a project, inport it and use the find_frequent_patterns and generate_association_rules functions:
ps常用毛发笔刷,下载就能用,abr文件inport导入就可以使用的笔刷,有动物毛发,人物头发笔刷。
C++Builder中动态库的链接问题 对BCB爱好者有借鉴
unity游戏demo
synapse-import-configuration-1603880535196.txt
golang开启mod后import报红解决 创建过程有问题导致 注意创建完成时 创建go mod 解决无法找到go mod问题
本文档包含Delphi XE10.2.3连接SAP的详细操作步骤,从Delphi XE10.2.3中ActiveX控件的安装到调用SAP RFC函数的详细步骤以及注意事项;同时包含演示示例。SAP版本为7.4。
EPF文件是著名的软件开发工具——Eclipse(IDE)的配置文件。我们可以通过Eclipse的File菜单中的(Inport/Export)->Preferences选项来(导入/导出)Eclipse的参数配置。
Eclipse(IDE)的配置文件。我们可以通过Eclipse的File菜单中的(Inport/Export)->Preferences选项来(导入/导出)Eclipse的参数配置。 配置完就就就可以看到这个主题的设置了。
VB写的简易入侵范例,可以远程注入DLL、并尝试卸载程序和自我删除,此为代码不是太多,放上来供参考,请不要用于非法途径,仅供学习研究。
{ "sw":8, "inPort":2, "dataLayerDestination":"00:00:00:00:00:01", "dataLayerSource":"00:00:00:00:00:08" } { "sw":4, "inPort":1, "dataLayerDestination":"00:00:00:00:00:08", "dataLayerSource":"00:00:00