`

java静态导入--导入你需要的静态成员

 
阅读更多

java静态导入--导入你需要的静态成员

 

Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。

当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。下面是静态导入前后的代码实例:

在静态导入之前:

1.      public class TestStatic {

2.          public static void main(String[] args) {

3.              System.out.println(Integer.MAX_VALUE);

4.              System.out.println(Integer.toHexString(42));

5.          }

6.      }

 

在静态导入之后:        

1.      import static java.lang.System.out;

2.      import static java.lang.Integer.*;

3.     

4.      public class TestStaticImport {

5.          public static void main(String[] args) {

6.              out.println(MAX_VALUE);

7.              out.println(toHexString(42));

8.          }

9.      }

两个类都产生相同的输出:

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将导致一个编译器错误,因为IntegerLong都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE

       你可以在static对象引用、常量(记住,它们是static final)和static方法上进行静态导入。

分享到:
评论

相关推荐

    Java的静态导入源代码

    短小精悍,关于静态导入的源代码,可以用作编程参照!

    Java 静态导入与编译器语法设置(eclipse)

    视频教程,介绍java的静态导入方法,还介绍了JAVA的编译器的语法设置。

    Java零基础-static关键字.md

    建议通过阅读相关的Java教材或搜索资料,进一步扩展学习与static关键字相关的高级主题,如静态代码块、静态内部类和静态导入等内容。 如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对static...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY10 主方法,静态导入,包装类,枚举 32 CoreJava DAY11 内部类 36 CoreJava DAY12 集合 List 40 CoreJava DAY13 集合 Set 46 CoreJava DAY14 集合 Map 49 CoreJava DAY15 异常、断言 52 CoreJava DAY16 ...

    静态变量的导入以及集合的运用

    静态变量的导入以及集合的运用,以及综合实例。

    JDK新特性之静态导入

    从JDK5.0之后,import语句不仅可以导入类,还增加了导入静态方法和静态域的功能。例如,如果在源文件的顶部,添加一条指令:  Java代码  import java.lang.System.*;  那么就可以使用System类的静态方法和...

    欧柏泰克:Java包的静态导入import static和import的区别

    Java包的静态导入import static和import的区别

    javastream源码-demo-java-stream-collectors:“预定义的Java流收集器”文章和源代码

    使用从类的静态导入来使源代码更具可读性是合理的。 收藏家到收藏 将输入元素简化为集合的收集器是最简单的。 它们允许将流收集到List,Set和特定Collection中。 定期向收藏家收集 要收集流到列表,可以使用toList...

    基于Java-Springboot的bbs论坛-问答社区源码

    项目导入IDEA 启动 访问测试! 自行根据代码逻辑填充测试数据,查看即可! src/main/java/com/kuang - config 配置类 - controller controller - generator 代码生成器 - mapper mapper - pojo pojo - result 统一...

    JSP静态导入与动态导入使用详解

    JSP静态导入(JSP指令标记include)  JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行。JSP指令标记为JSP页面转译提供整个页面的相关信息。  include指令用于在JSP页面...

    达内 CoreJava老师笔记汇总

    CoreJava DAY10 主方法,静态导入,包装类,枚举 62 CoreJava DAY11 内部类 70 CoreJava DAY12 集合 List 78 CoreJava DAY13 集合 Set 85 CoreJava DAY14 集合 Map 92 CoreJava DAY15 异常、断言 98 CoreJava DAY16 ...

    开源 免费 java CMS freecms-src-1.4

    7.增加设置栏目下信息编辑操作(添加,编辑,删除)成功后,需要静态化的内容:本栏目页面,原栏目页面,父栏目栏目页面和站点首页。 8.添加模板时支持上传zip格式的模板文件。 9.模板增加初始化数据管理,可以设置...

    CoreJava笔记

    CoreJava DAY10 主方法,静态导入,包装类,枚举 32 CoreJava DAY11 内部类 36 CoreJava DAY12 集合 List 40 CoreJava DAY13 集合 Set 46 CoreJava DAY14 集合 Map 49 CoreJava DAY15 异常、断言 52 CoreJava DAY16 ...

    动力节点_Java基础视频教程33_静态导入

    动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础...

    java中静态导入机制用法实例详解

    主要介绍了java中静态导入机制用法实例详解的相关资料,需要的朋友可以参考下

    JAVA大作业-西电-西宝高速公路客运活动仿真

    Constant类定义系统大多数通用常量,可以读取配置文件设定部分静态变量的值,其他类采用静态导入的方式使用;GUIOfSystem类运行图形化界面,实现交互式操作可以开始、暂停、修改参数(需重新编译);MyColock类用以...

    java伪静态URL重写的方法

    伪静态URL重写是通过微软公司封装好了的一个URL重写组件(UrlReswriter.jar)来实现的,导入JAR包,在WEB服务中加载伪静态地址拦截器,客户端以静态地址向服务器发起请求,服务器端的拦截器拦截客户端请求,查找XML...

    java-dynamic-import-example:Java 编译器需要知道所有类,但 JVM 不需要

    该类导入test.Importee并声明该类型的私有静态成员变量。 它仅实例化test.Importee的实例并在第一个命令行参数为true调用其方法之一。 要编译,请从顶级目录执行javac */*.java 。 现在更改为main/并执行java ...

    jsp中include指令静态导入和动态导入的区别详解

    1、什么是静态导入? 静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来。include的静态导入指令使用语法: 代码如下:<%@include ...

    freemark 页面静态化

    本示列为freemark页面静态化 完整demo 可导入工程直接运行查看效果

Global site tag (gtag.js) - Google Analytics