在 JDK 1.5 之后增加了一种静态导入的语法,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 import static 的方式导入。

静态导入使用 import static 语句,静态导入也有两种语法,分别用于导入指定类的单个静态成员变量、方法和全部静态成员变量、方法,其中导入指定类的单个静态成员变量、方法的语法格式如下:

import static package.ClassName.fieldName|methodName;

上面语法导入 package.ClassName 类中名为 fieldName 的静态成员变量或者名为 methodName 的静态方法。例如,可以使用import static java.lang.System.out;语句来导入 java.lang.System 类的 out 静态成员变量。

导入指定类的全部静态成员变量、方法的语法格式如下:

import static package.ClassName.*;

上面语法中的星号只能代表静态成员变量或方法名。

import static 语句也放在 Java 源文件的 package 语句(如果有的话)之后、类定义之前,即放在与普通 import 语句相同的位置,而且 import 语句和 import static 语句之间没有任何顺序要求。

所谓静态成员变量、静态方法就是类变量、类方法,它们都需要使用 static 修饰,而 static 在很多地方都被翻译为静态,因此 import static 也就被翻译成了 “静态导入”。其实完全可以抛开这个翻译,用一句话来归纳 import 和 import static 的作用,使用 import 可以省略写包名,而使用 import static 可以省略类名。

下面程序使用 import static 语句来导入 java.lang.System 类下的全部静态成员变量,从而可以将程序简化成如下形式。

import static java.lang.System.*;
import static java.lang.Math.*;public class StaticImportTest {public static void main(String[] args) {// out是java.lang.System类的静态成员变量,代表标准输出// PI是java.lang.Math类的静态成员变量,表示π常量out.println(PI);// 直接调用Math类的sqrt静态方法,返回256的正平方根out.println(sqrt(256));}
}

从上面程序不难看出,import 和 import static 的功能非常相似,只是它们导入的对象不一样而已。import 语句和 import static 语句都是用于减少程序中代码编写量。

Java import static静态导入相关推荐

  1. 1.17 import static静态导入

    在 JDK 1.5 之后增加了一种静态导入的语法,用于导入指定类的某个静态成员变量.方法或全部的静态成员变量.方法.如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 ...

  2. Java总结(14) 静态导入 可变长参数

    静态导入概述: import语句可以导入一个类或某个包中的所有类 import static语句导入一个类中的某个静态方法或所有静态方法 举例: import static java.lang.Mat ...

  3. Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入

    static 关键字 在类中,用static声明的成员变量为静态成员变量,也称为类变量. 类变量的生命周期和类相同,在整个应用程序执行期间都有效.它有如下特点: 1. 为该类的公用变量,属于类,被该类 ...

  4. java 16 -12 静态导入

    静态导入: 格式:import static 包名-.类名.方法名; 可以直接导入到方法的级别 静态导入的注意事项: A:方法必须是静态的 B:如果有多个同名的静态方法,容易不知道使用谁?这个时候要使 ...

  5. JAVA中的静态导入

    1.使用方法 package tips; public interface Constants { public static final int PORT_NUMBER = 90; public s ...

  6. java import static作用

    import static(静态导入)是JDK1.5中的新特性,一般我们导入一个类都用 import com.....ClassName; 而静态导入是这样:import static com.... ...

  7. Java之static静态对象

    static关键字:         1.概念:                     被该类的所有对象共享使用,不依赖于某个具体的对象,和对象无关,依赖于类,在内存中唯一只有一份 2.类的加载过程 ...

  8. java中的静态初始化是什么意思,Java中static静态变量的初始化完全解析

    静态变量初始化顺序 1.简单规则 首先先看一段最普遍的JAVA代码: ? 这里先猜下控制台输出结果是什么? OK, 或许你已经猜到下面了结果了,那么你还是熟悉Java的. 复制代码 代码如下: 0 1 ...

  9. 菜鸟学JAVA之——static静态代码块

    静态代码块 static可以修饰属性.方法.内部类.代码块 静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数. 有一个地方的静态代码被使用,那么所有的静态代码块都会被调 ...

最新文章

  1. 多线程编程 java_java多线程编程
  2. linux的本地时间命令
  3. 802.11协议之BA/BAR帧
  4. Shell Notes(1)
  5. Oracle之批量生成数据
  6. 穿越鸿蒙电视剧,电视剧大泼猴剧情介绍(1-45全集)
  7. JavaScript语言精粹 ——笔记
  8. Linux 0.11内核分析02:系统启动
  9. java 解析二进制_Java二进制指令代码解析
  10. 你知道吗?还有比自回归方式更快更好的序列生成!
  11. 我写了一个桌面搜索引擎
  12. 软件产品需求分析模板
  13. 《Java核心技术36讲》读后
  14. pycharm无法import本地安装好的第三方库问题
  15. CMUX协议学习总结
  16. 4种方法教你如何查看java对象所占内存大小
  17. View 5应用之二:瘦客户机上的虚拟桌面
  18. Python Behave框架学习
  19. websocket 爬虫
  20. 少儿教育和游戏的火花在哪里?

热门文章

  1. 电脑端二维码识别工具_电脑端自签工具更新,多功能软件一键签名
  2. win7电脑浏览器证书过期的解决方法
  3. 怎么将手机QQ浏览器里面的文章分享给QQ好友
  4. spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚
  5. 生成特征_使用gplearn自定义特征自动生成模块
  6. maven-compiler-plugin 插件详解
  7. csdn如何插入多列表格?
  8. mysql取消主从配置_mysql主从配置
  9. linux的运行级别如何更改成6,把Linux运行级别设置为6后如何解决的经验分享
  10. Oracle数据库空间突然增大,Oracle 表空间异常增长过快解决方法