java静态导入
正常的import声明从包中导入类,因此可以在没有包引用的情况下使用它们。类似地,静态导入声明从类中导入静态成员,并允许它们在没有类引用的情况下使用。
静态导入声明还有两种形式:单静态导入和静态导入按需。单静态导入声明从类型中导入一个静态成员。static-import-on-demand声明导入一个类型的所有静态成员。静态导入声明的一般语法如下:
|
静态导入示例
例如,您记得使用该System.out.println()
方法在标准输出中打印消息。System
是java.lang包中的一个类,它有一个名为的静态变量out
。当你使用时System.out
,你指的是System
该类之外的那个静态变量。您可以使用静态导入声明out
从System
类中导入静态变量,如下所示:
|
您的代码现在可以在程序中使用名称out表示System.out
。编译器将使用静态进口报关来解析名称out
来System.out
。
|
静态导入规则
以下是有关静态导入声明的一些重要规则。
1)如果导入两个具有相同简单名称的静态成员,一个使用单静态导入声明,另一个使用静态导入按需声明,则使用单静态导入声明导入的静态成员优先。
假设有两个类,package1.Class1
和package2.Class2
。这两个类都有一个名为的静态方法methodA
。以下代码将使用package1.Class1.methodA()
方法,因为它是使用单静态导入声明导入的:
|
2)不允许使用单静态导入声明导入两个具有相同简单名称的静态成员。以下静态导入声明会生成错误,因为它们都使用相同的简单名称导入静态成员methodA
:
|
3)如果使用单静态导入声明导入静态成员,并且在同一个类中存在具有相同名称的静态成员,则使用该类中的静态成员。
|
静态导入似乎可以帮助您使用静态成员的简单名称来简化程序的编写和读取。有时静态导入可能会在程序中引入细微的错误,这可能很难调试。建议您根本不使用静态导入,或仅在极少数情况下使用静态导入。
- Android安装包相关知识汇总
- 【独家】手把手教线性回归分析(附R语言实例)
- 四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍
- 仿微信聊天表情发送
- ASP.NET Web API对OData的支持
- 小技巧 - 简化你的泛型API
- 优化OEA中的聚合SQL
- Universal Image Loader for Android 使用实例
- 如何从 Ring Buffer 读取?
- OEA中的AutoUI重构(1) - Command自动生成
- 开源项目Universal Image Loader for Android
- android Universal Image Loader for Android 说明文档 (1)
- 修改android最小堆内存
- (转)ES6新特性概览
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【时序预测】一文梳理时间序列预测——ARMA模型
- 三分钟Kubernetes-环境搭建篇
- Linux分区页框分配器之水位
- 使用GPU训练模型
- Spring事务源码分析专题(一)JdbcTemplate使用及源码分析
- TensorFlow处理运动想象分类任务
- 使用kepler.gl可视化地理空间数据
- 聊聊 Python 代码覆盖率工具 - Coverage
- 目标检测模型YOLO-V1损失函数详解
- 轻松学Pytorch-使用ResNet50实现图像分类
- IDEA奇淫小技巧
- [PHP框架] ThinkPHP6 介绍、安装及配置
- 【翻译】withoutboats 的 io-uring 笔记
- [Python]随机生成大量的虚拟信息测试数据(姓名,手机号,ID,家庭住址等)
- Java核心技术之动态代理