`
tuhaitao
  • 浏览: 375390 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

import static简化代码

    博客分类:
  • java
 
阅读更多

喜欢定义常量的哥们你伤不起啊,好处当然是大大滴,但是定义的名字太长会影响到代码本身的美观程度

 

一般定义常量,会先写一个类专门放置,例如:

 

 

package com.opencfg.gateway.server.constant;


public final class GateWayServerConstant {
	
	public static final String PARAM_NAME_LOCAL_CLUSTER_DEFAULT_IP = "0.0.0.0";
	
	public static final String PARAM_NAME_LOCAL_CLUSTER_DEFAULT_PORT = "36800";
	
	public static final int GET_THREAD_POOL_SIZE() {
		return Runtime.getRuntime().availableProcessors();
	}
	
}
 

 

 

 

使用这些常量,通常是这样做的:

 

import com.opencfg.gateway.server.constant.GateWayServerConstant;

public class GateWayServer {
	
	public static void init () {
		log("Local IP is " + GateWayServerConstant.PARAM_NAME_LOCAL_CLUSTER_DEFAULT_IP);
		log("Local Port is " + GateWayServerConstant.PARAM_NAME_LOCAL_CLUSTER_DEFAULT_PORT);
		log("Thread Pool size is " + GateWayServerConstant.GET_THREAD_POOL_SIZE());
	}

}
 

 

 

这样虽然达到了常量统一定义的效果,但是一点也不美观,代码稍长就会换行,影响代码阅读,为了使我们写的代码更具有

 

阅读性,我们可以import static :

 

import static com.opencfg.gateway.server.constant.GateWayServerConstant.*;

public class GateWayServer {
	
	public static void init () {
		log("Local IP is " + PARAM_NAME_LOCAL_CLUSTER_DEFAULT_IP);
		log("Local Port is " + PARAM_NAME_LOCAL_CLUSTER_DEFAULT_PORT);
		log("Thread Pool size is " + GET_THREAD_POOL_SIZE());
	}

}
 

 

这里import static 最后.*,是把GateWayServerConstant类的所方法与便利都导入到当前类中,

 

如果只是用其中的几个,也可以单独导入.

 

这个是JDK1.5给我们带来的特性,如果使用这个特性,请首先保证你的JDK版本大于1.5.

 

这个特性对于常量哥简化代码来说,比较有效果 :)

分享到:
评论
1 楼 1169158401 2014-12-29  
我艹,我那天这么写,包括一些方法,然后那货说这样写不容易看懂。。。

相关推荐

    util:类和静态函数的集合,旨在简化 Java 对象和数据结构的工作

    实用程序 类和静态函数的集合,旨在简化 Java 对象和数据结构的工作,包括 List、Set、Map 和便利函数将对象转换为... import static sojamo.util.Common.* ; Object o = new Integer ( 100 ); int i = i(o); prin

    Pivotal团队提供的微框架Spring Boot.zip

    Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'.下图显示 Spring Boot 在 ...

    Java工具库BeanQuery.zip

    import static cn.jimmyshi.beanquery.BeanQuery.*; //使用 select、from、where、orderBy、desc和asc来组装一个Query,然后执行execute方法来获得结果。 List, Object>> result = select("price,name,mainAuthor....

    springmybatis

    程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL, ...

    springboot编程训练系统设计与实现.zip

    Spring Boot是一个用于简化Spring应用程序开发的框架。要开始使用Spring Boot进行编程训练,首先需要创建一个基本的Spring Boot项目。以下是一个简单的Spring Boot应用程序示例:创建一个新的Maven或Gradle项目。...

    软件包:MetaparticlePackage:Java,.NET和Javascript中的语言流畅的容器化和部署(更多内容即将推出)

    超微粒/包装用于构建容器图像的语言惯用绑定。...import static io.metaparticle.Metaparticle.Containerize ;public class Main { @Package ( repository = " brendanburns " , jarFile = " path/

    nanotests:基于 JUnit 的 httpdb 单元测试扩展

    用于简化站点后端测试。 内容 Nanotests 为静态导入提供了四种类型的断言和辅助类: ... 它允许检查结果代码、标题、内容等。... 为数据库表行状态提供断言。... 使用 XPath 表达式为 XML DOM ... import static com.brokenev

    关于java中package的设置

    首先我写了一个关于简化System.out.println()的程序: package mypackage; public class P { public static void print(String s) { System.out.print(s); } public static void println(String s) { ...

    socket编程集萃

     Java对这个模型的支持有很多种Api,而这里我只想介绍有关Socket的编程接口,对于Java而言已经简化了Socket的编程接口。首先我们来讨论有关提供固定位置的服务方是如何建立的。Java提供了ServerSocket来对其进行...

    JAVA--达内培训笔记

    public static void main(String[] args){ //程序入口 public static 可以调换顺序 System.out.println("Hello world"); //打印语句 } } 编译命令 javac xxxx.java 源文件的名字,源文件中的一个类会对应...

    开发项目用SWING与RCP与SWT.JFACE的分析

    所有的SWT类都用org.eclipse.swt做为包的前缀,下面为了简化说明,我们用*号代表前缀org.eclipse.swt,比如*.widgets包,代表的是org.eclipse.swt.widgets包。 我们最常用的图形构件基本都被包括在*.widgets包中,...

    java 面试题 总结

    多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang....

    超级有影响力霸气的Java面试题大全文档

    多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗?  基本数据类型包括byte、int、char、long、float、double、boolean和short。  java....

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...12.2.6 简化recordTransport()方法 347 12.3 再探接口 349 12.3.1 重温上节中的程序 349...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...12.2.6 简化recordTransport()方法 347 12.3 再探接口 349 12.3.1 重温上节中的程序 349...

    jsr80 java 访问 usb

    这些 API 经过特别编写以简化访问特定 USB 设备的过程,并且不能用于访问其他设备。这些 API 是在 usb.core API 之上构建的,它们可以工作在所有支持 jUSB 的操作系统上。 usb.view : 这个可选包提供了基于 Swing 的...

    JAVA基础课程讲义

    static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70...

    cms后台管理

    <import resource="jeecms-servlet-front-action.xml"/>代码 找到jeecms-servlet-front-action.xml,在此配置文件中有 <bean id="dynamicAct" class="com.jeecms.cms.action.front.DynamicPageAct"/> 可以找到类...

Global site tag (gtag.js) - Google Analytics