java中静态导入机制用法实例详解
java中静态导入机制用法实例详解
这里主要讲解了如何使用Java中静态机制的用法,这里提供了简单实例大家可以参考下。
静态常量类
在java开发中,我们会经常用到一些静态常量用于状态判断等操作。为了能够在多个地方复用这些常量,通常每个模块都会加一个常量类,举个简单的列子:
import com.sky.OrderMouleConsstants; /** * Created by gantianxing on 2017/4/21. */ public class Test { public void main() { int orderState = orderService.getOrderState(id); if(OrderMouleConsstants.SUCCESS == orderState){ //订单成功状态逻辑 } if(OrderMouleConsstants.FAIL == orderState){ //订单失败状态逻辑 } } }
为了表达常量类的特定使用模块,我们经常会把模块名称加载类名里,导致常量类的名字很长。在写代码的时候,经常来回copy,用户起来很不方便。
其实在jdk1.5开始就已经引入了“静态导入机制”,可以解决这个问题。
静态导入机制
我们可以采用静态导入(static import)的方式 导入常量类,就可以避免用类名来修饰常量名。如下:
Java代码
import static com.sky.OrderMouleConsstants.*; <span style="color: #ff0000;">//这个地方一定要用.* 否则编译不过</span> /** * Created by gantianxing on 2017/4/21. */ public class Test { public void main() { int orderState = orderService.getOrderState(id); if(SUCCESS == orderState){ <span style="color: #ff0000;">//不用再加静态类名了</span> //订单成功状态逻辑 } if(FAIL == orderState){ <span style="color: #ff0000;">//不用再加静态类名了</span> //订单失败状态逻辑 } } }
用法说明:在import 后面 加上static,并在静态常量类后面加上.* 。在需要使用常量的地方,就不用加上冗长的类名啦。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Java静态代理和动态代理总结
静态代理 第一种实现(基于接口): 1>接口 public interface Hello { void say(String msg); } 2>目标类,至少实现一个接口 public class HelloImpl implements Hello { public void say(String msg) { System.out.println("Hi,"+msg); } } 3>代理类(与目标类实现相同接口,从而保证功能一致) public class He
-
java synchronized同步静态方法和同步非静态方法的异同
java synchronized 详解 synchronized关键字有两种用法,一种是只用于方法的定义中,另外一种是synchronized块,我们不仅可以使用synchronized来同步一个对象变量,你也可以通synchronizedl来同步类中的静态方法和非静态方法. synchronized块的语法如下: public void method() { synchronized(表达式) { } } public void method() { synchronized(表达式) {
-
java实例方法被覆盖,静态方法被隐藏Explain(详解)
被覆盖比较好理解,类似于多态的实现,访问时通过类方法表来访问,你实际是什么类型,访问的方法就是那个类型的方法而不会是你的父类的方法. 被隐藏是指静态方法的访问是根据当前对象的表面类型来决定的,比如 Super s = new Sub(); s.greeting()访问的是Super的静态方法,如果是Sub s = new Sub();则访问的是Sub的静态方法. 换句话说,这个实现不了多态. 此外,静态方法和实例方法不能互相覆盖(会报错),因为他们的在字节码中的的绑定位置不同. 以上这篇java
-
java 内部类(匿名类,匿名对象,静态内部类)详解及实例
内部类的介绍 定义在另外一个类中的类,叫内部类 成员内部类 1..new 创建成员内部类必须先创建外部类的实例,然后通过.new 创建内部类的对象 2..this 可以通过外部类的类名.this去访问外部类的所有属性和方法. public class Test1 { String name = "asnd"; public static void main(String[] args) { Test1 test1 = new Test1(); Inner mInner = test1.
-
java 反射 动态调用不同类的静态方法(推荐)
准备调用的类 package ss; public class Use { public static Integer demo( String s ){ System.err.println(s+"<<<<<<成功!"); Integer ss=1; return ss; } } 执行调用的类 public class Ceshi { public static void main(String[] args) { try { String cla
-
Java中的动态和静态编译实例详解
Java中的动态和静态编译实例详解 首先,我们来说说动态和静态编译的问题. Q: java和javascript有什么区别? 总结了一下:有以下几点吧: 1.首先从运行环境来说java代码是在JVM上编译成class文件,而javascript则直接在浏览器上加载运行. 2.由第一点可看出,java代码需要编译,而javascript不需要编译. 3.从语言性质来说,java是一种高级编程语言,对变量检查要求严格,javascript只是一个简单的解释性的脚本语言,对变量检查及要求很弱.
-
java中静态导入机制用法实例详解
java中静态导入机制用法实例详解 这里主要讲解了如何使用Java中静态机制的用法,这里提供了简单实例大家可以参考下. 静态常量类 在java开发中,我们会经常用到一些静态常量用于状态判断等操作.为了能够在多个地方复用这些常量,通常每个模块都会加一个常量类,举个简单的列子: import com.sky.OrderMouleConsstants; /** * Created by gantianxing on 2017/4/21. */ public class Test { public vo
-
JAVA中的final关键字用法实例详解
本文实例讲述了JAVA中的final关键字用法.分享给大家供大家参考,具体如下: 根据上下文环境,java的关键字final也存在着细微的区别,但通常指的是"这是无法改变的."不想改变的理由有两种:一种是效率,另一种是设计.由于两个原因相差很远,所以关键子final可能被误用. 接下来介绍一下使用到final的三中情况:数据,方法,类 final数据 许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的.有时数据的恒定不变是很有用的,例如: 1. 一个编译时恒定不变的常量 2.
-
JAVA中static方法的用法实例详解
本文实例讲述了JAVA中static方法的用法.分享给大家供大家参考,具体如下: static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享.只要这个类被加载,Java虚拟机就能根据类名在运行时数据区或者方法区内找到他们.因此,static对象可以在它的任何对象创建之前访
-
Java包装类的缓存机制原理实例详解
这篇文章主要介绍了Java包装类的缓存机制原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java 包装类的缓存机制,是在Java 5中引入的一个有助于节省内存.提高性能的功能,只有在自动装箱时有效 Integer包装类 举个栗子: Integer a = 127; Integer b = 127; System.out.println(a == b); 这段代码输出的结果为true 使用自动装箱将基本类型转为封装类对象这个过程其实
-
java 中HttpClient传输xml字符串实例详解
java 中HttpClient传输xml字符串实例详解 介绍:我现在有一个对象page,需要将page对象转换为xml格式并以binary方式传输到服务端 其中涉及到的技术点有: 1.对象转xml流 2.输出流转输入流 3.httpClient发送二进制流数据 POM文件依赖配置 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifact
-
java 中模式匹配算法-KMP算法实例详解
java 中模式匹配算法-KMP算法实例详解 朴素模式匹配算法的最大问题就是太低效了.于是三位前辈发表了一种KMP算法,其中三个字母分别是这三个人名的首字母大写. 简单的说,KMP算法的对于主串的当前位置不回溯.也就是说,如果主串某次比较时,当前下标为i,i之前的字符和子串对应的字符匹配,那么不要再像朴素算法那样将主串的下标回溯,比如主串为"abcababcabcabcabcabc",子串为"abcabx".第一次匹配的时候,主串1,2,3,4,5字符都和子串相应的
-
java中的static{}块的实例详解
java中的static{}块的实例详解 一直以来对static块不是很熟系,今天特意写了两个程序来搞清楚一下: 第一个小程序: package com.babyDuncan.Sohu; public class testStatic { static { int x = 5; } static int x, y; public static void main(String[] args) { x--; myMethod(); System.out.println(x + y + ++x);
-
Java中Properties类的操作实例详解
Java中Properties类的操作实例详解 知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加一些脚本语言Python,Perl之类的,不得已,又得重新拾起.本文通过看<Java编程思想>和一些网友的博客总结而来,只为简单介绍Properties类的相关操作. 一.Java Properties类 Java中有个比较重要的类Properti
-
java 中MyBatis注解映射的实例详解
java 中MyBatis注解映射的实例详解 1.普通映射 @Select("select * from mybatis_Student where id=#{id}") public Student getStudent(int id); @Insert("insert into mybatis_Student (name, age, remark, pic,grade_id,address_id) values (#{name},#{age},#{remark}, #{
-
Java中IO流 RandomAccessFile类实例详解
Java中IO流 RandomAccessFile类实例详解 RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. java文件模型,在硬盘上的文件是byte byte byte存储的,是数据的集合 打开文件,有两种模式,"rw"读写."r"只读:RandomAccessFile raf = new RandomAccessFile(file, "rw");,文
随机推荐
- 用htc实现CHECKBOX控件
- 前端主流框架vue学习笔记第二篇
- 原生javascript和jquery判断浏览器版本等信息
- JS获得多个同name 的input输入框的值的实现方法
- asp.net 合并GridView中某列相同信息的行(单元格)
- 支持中文的php加密解密类代码
- springMVC使用jsp:include嵌入页面的两种方法(推荐)
- 在C语言中使用对数函数的方法
- MySQL学习第五天 MySQL数据库基本操作
- JavaScript调用ajax获取文本文件内容实现代码
- ASP.NET GridView的Bootstrap分页样式
- python 遍历字符串(含汉字)实例详解
- Ajax实现无刷新分页实例代码
- 3种Jquery限制文本框只能输入数字字母的方法
- 详解MongoDB for C#基础入门
- jQuery实现对无序列表的排序功能(附demo源码下载)
- 解决jquery中美元符号命名冲突问题
- 基于数据库的在线人数,日访问量等统计
- WebView设置WebViewClient的方法
- Windows系统安装Redis的详细图文教程