在 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. Ymodem协议学习笔记
  2. php 调用php webservice
  3. cdh 安装_使用Cloudera的CDH部署Hadoop:第三步,安装管理平台和数据库
  4. FastJsonUtils 需要fastjson
  5. 源码安装libjpeg-turbo1.2.1,无root权限
  6. zabbix主动、被动检测的详细过程与区别
  7. 南邮计算机学院是211,南京邮电大学是211还是985
  8. dj电商-富文本编辑器
  9. WinCE EBOOT中的Boot Args与Driver Globals (转)
  10. python输入一个整数、输出该整数的所有素数因子_【401】Python 求合数的所有质数因子...
  11. innodb是mysql几的_MySQL几个和innodb相关的参数
  12. Metro风格用户界面设计原则
  13. UE4创建VR项目笔记
  14. 麻省理工学院计算机科学,麻省理工学院素以世界顶尖的工程学和计算机科学而享誉世界[1-2] ,位列2015-16年世...
  15. 今日头条18校招算法笔试
  16. 关于抽象类中的抽象方法和非抽象方法的问题
  17. 安装达梦数据库后LD_LIBRARY_PATH如何设置?
  18. Centos7用户相关及多用户迁移
  19. 艾伟:一个让人遗忘的角落—Exception(二)
  20. 多媒体——图片——对图片进行简单加工

热门文章

  1. python单链表实现具体例子_Python实现数据结构线性链表(单链表)算法示例
  2. Android代码设置角标,Android上的Badge,快速实现给应用添加角标
  3. 将命令结果赋给变量_不得不了解的quot;变量quot;(2)—— 变量的赋值
  4. 电脑抓整个路由器的包_网络是电竞游戏体验的命脉 2018年年度电竞路由器功能盘点...
  5. python开发上位机软件-UR机器人通信--上位机通信(python)
  6. java基础学习笔记(一)
  7. redisTemplate.opsForValue()中方法讲解
  8. SSM整合框架实现发送邮件功能
  9. mysql 1055 解决方案_MySQL报错1055解决方案 - 树懒学堂
  10. linux主机熵值过小,tomcat在linux启动应用慢解决方式