在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方法上进行静态导入。
分享到:
相关推荐
`Inport.java`文件可能是处理Excel数据导入的部分。首先,需要读取Excel文件,这同样可以通过`Apache POI`库完成。然后,逐行解析数据,将每一行的数据映射到数据库表的字段。这个过程中可能涉及数据验证、异常处理...
DB2 数据库管理系统提供了多种数据移动方式,其中包括数据的导入(Import)、导出(Export)和装入(Load)。在本文中,我们将详细介绍 DB2 中的数据移动命令,包括 Export 和 Import 命令的使用、文件格式的介绍...
Matlab/simulink会遇到批量修改模型中变量以及端口的问题,本脚本实现修改simulink模型当前层Inport端口为From。
打开 HFSS 新建工程和设计后,单击 Modeler--->inport 将上面导出的 gds 文件导入。导入后会出现如下所示的界面。 中间栏中的 Signal+数字代表的是 ADS 版图其中一层存在的物体。数字对应的具体是哪一层需要在 ADS ...
3. **Veristand Inport和Outport块**:对于想要在桌面计算机上运行而无需编译的Simulink模型,必须使用Veristand Inport和Outport块使输入和输出端口在Veristand中可用。 4. **模型参数设置**: - 设置Solver选项:...
"ConsoleImporter"是一个非常实用的工具,它使得从Chrome控制台直接导入JS和CSS资源变得异常简单,极大地优化了前端开发的工作流程。 "Console Importer"的核心功能是将外部的JS和CSS文件快速引入到当前页面,这样...
基于Java实现的商品仓库、销售管理系统...[](static/images/inport.PNG) 商品退货管理 ![](static/images/output.PNG) 商品销售管理 ![](static/images/sales.PNG) 商品销售退货管理 ![](static/images/salesback.PNG)
zabbix批量导入监控主机 用途 从excel表中批量导入被监控主机 自动根据分组名称创建分组 根据模板名称匹配主机监控模板 使用前提 程序需要使用pyzabbix xlrd requests三个库 pip install xlrd pip install requests ...
- 根据输入接口变量的来源决定是否添加InPort模块。 - 对于来自集成模型内部的输入接口变量,还需要判断其来源子函数的执行顺序,并根据情况添加From或Delay模块。 - **创建信号目标的具体步骤**: - 获取集成...
useragentswicher 更新至2014-02-15日为止... 导入这个列表吧,包括了目前主流的浏览器标识 使用方法 先安装好,重启火狐浏览器之后,打开菜单栏“工具”“Dafault User Agent”“Edit User Agents”“Import…”导入
《WinCC TAG Export/Import工具使用详解》 在西门子的WinCC 6.2版本中,TAG Export/Import工具是一个非常实用的功能,它允许用户方便地导入和导出项目中的变量,大大提高了工作效率。下面,我们将详细介绍该工具的...
对于那些希望能够在运行时将MP3,WAV和FLAC格式的音频文件导入游戏的人来说,此插件将非常有用(例如,如果游戏涉及从播放器的设备内存中导入音频文件)。 在C ++和Blueprints中都易于使用。 产品特点 较小的资料库...
VB Import Viewer是一款专为Visual Basic(VB)开发者设计的实用工具,它允许用户查看VB程序集(.dll或.exe文件)中导入的API函数。这个工具对于理解和调试使用API调用的VB应用程序非常有帮助,因为API函数通常不...
"UserPort"是一个非常实用的免费端口读写驱动,它提供了多种编程语言的例程,包括C、Delphi、Java、Pascal和VB,使得开发者能够轻松地在不同的编程环境中实现对端口的操作。 首先,我们来了解什么是端口。在计算机...
在这个场景中,程序会监听特定的端口(inport:8888),当接收到数据时,它会将这些数据转发到另一个地址和端口(outip:127.0.0.1, outport:7777)。127.0.0.1是回送地址,表示本机,而7777和8888分别是输入和输出的...
当遇到在启用`go mod`后导入包出现红色错误提示时,这通常意味着项目配置或模块初始化存在问题。以下是一些详细的步骤和知识点来解决这个问题: 1. **理解go mod**: `go mod`引入是为了替代之前的`GOPATH`工作区...
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导入就可以使用的笔刷,有动物毛发,人物头发笔刷。
在IT领域,C++Builder是一款强大的集成开发环境(IDE),专为C++编程设计,尤其在Windows平台上构建桌面应用程序方面表现出色。C++Builder集成了RAD(Rapid Application Development)工具,使得开发者能够快速地...
unity游戏demo