`

J2SE5.0新特性——静态导入(解决我的Config问题)

阅读更多
昨天买了Core Java2 第七版的上卷。开始阅读就看到了许多J2SE的新特性,呵呵,很是激动人心。我会发一系列的文章来介绍。首先这一篇讲静态导入,解决我上面的Config问题。

本文分三个部分:
 
1,讲述我上面遇到的Config问题的大概和目前的解决方法
2,讲述用了静态导入后的解决方法
3,对静态导入的介绍,简单实例。
 
各位可以选读。
 
----------------------------------------------
首先,问题描述。
 
我看到了apache.commons下面有一个项目叫做Configuration。是这样使用的:(以其中的PropertiesConfiguration类为例)
 
PropertiesConfiguration config  =   new  PropertiesConfiguration( " config.properties " );
 
上面是实例化,读入配置,然后便可以使用config提供的一系列方法获取配置属性,例如:
 
config.getString(key)
config.getDouble(key)
String[] colors 
=  config.getString(key); // 获取相同key的属性集合
 
我要在系统中使用这个类,那么,我建立了一个自己的SystemConfig类,其中有一个静态属性,config,是PropertiesConfiguration类的对象。在系统初始化的时候,初始化这个config对象。我希望我将来用SystemConfig.getString(key)之类的静态方法类获取配置,却又不能写n各静态方法来调用静态属性config的相应方法。
 
所以我用了单态。最后的结果在客户端是这样的:
 
SystemConfig.getInstance().getString(key);
 
getInstance方法返回的是类中的静态属性config,这样我就可以随意调用config中的所有方法了。
 
但终究没能做到ClassA.getXXX(key)这样的获取方式。
 
OK,问题描述完毕

-----------------------------------------
 
 

J2SE 5.0中提供了一种全新的导入方式,以前的import只能导入包,类,现在这种导入方式,可以导入类的属性,方法了。
 
先给出一个写法:
 
import   static  com.lingdot.ConfigBuilder.SystemConfig;
 
注意其中多了一个static关键字。另外注意ConfigBuilder是一个类,而SystemConfig是这个类的一个属性。相当于现在我们把SystemConfig这个属性导入到了当前类。
来看我的ConfigBuilder类,其中定义了一个PropertiesConfiguration类的对象,作为public的属性,还定义了一个init(String path)方法,用于初始化。
 
系统启动时,调用ConfigBuilder.init(String path)方法,初始化其中的SystemConfig属性。
 
然后再后面的其他类中,如上这样写:
 
import   static  com.lingdot.ConfigBuilder.SystemConfig;
 
那么在这个类中,就可以象下面这样获取配置了:
 
SystemConfig.getString(key);
SystemConfig.getDouble(key);
 
从而实现了我的目标。
 
------------------------------------------------
下面是对J2SE 5.0中的静态导入的一点介绍:
 
例如,我在程序开始这样写:
 
import   static  System.out;
 
那么在我的程序中,就可以这样写:
 
out.println( " aaa " );
 
我想一看这个例子,你就明白是怎么回事了。
 
前面都是导入属性,下面是导入方法的例子:
 
import   static  java.util.Math. * ;
 
然后你求开放就可以这样写
 
double  a  =  sqrt( 2 );
 
---------------------------------------
 
更多的信息可以在网上获取。
分享到:
评论

相关推荐

    J2SE 5.0新特性精解

    标题:“J2SE 5.0新特性精解” 描述:“对J2SE 5.0中的一些新特性进行了精辟的讲解。” J2SE 5.0是Java Standard Edition的一个重大更新,它引入了一系列的新特性和改进,旨在提高开发效率、提升性能以及增强平台...

    J2SE5.0_CN.chm API中文手册

    J2SE5.0_CN.chm API中文手册

    J2SE 5.0 API (中文版)

    此资源是一个中文版的 J2SE 5.0 API 文档,对于学习和理解 Java 5.0 的新特性和库函数非常有帮助,尤其其内置的索引功能使得开发者能快速定位所需信息。 1. **泛型(Generics)** 泛型是 J2SE 5.0 中最重要的特性...

    J2SE 5.0专题 之 语言特性

    泛型是 J2SE 5.0 最重要的特性之一,它解决了 Java 缺乏类型安全容器的问题。通过泛型,可以创建类型安全的通用类和接口,从而避免运行时类型转换错误。 ##### 示例 ```java import java.util.ArrayList; public ...

    2022年J2SE5.0新特性之使用代理服务器Java教程.docx

    Java 2 Standard Edition (J2SE) 5.0,也称为 Java 5.0,引入了许多新特性,其中一项重要改进是对于代理服务器支持的增强。在J2SE 5.0之前,配置代理服务器相对复杂,但现在,Java提供了一种更灵活的方式来设置和...

    j2se5.0_API

    很好的j2se的API

    JAVA API官方文档中文版CHM版(J2SE5.0)

    Java API官方文档中文版CHM版(J2SE5.0)是Java开发的重要参考资料,它详尽地阐述了Java 2 Standard Edition 5.0(通常称为Java 5.0)中的各种类库和接口。这个CHM(Compiled HTML Help)文件是一个经过编译的HTML...

    J2SE5.0 API.chm

    J2SE5.0 API.chm,这个是英文的,等会再上传中文的,两个加在一起太大了 只好分开传了。。。

    J2SE 5.0- Java安全及网络计算的最新技术

    标题与描述中的“J2SE 5.0- Java安全及网络计算的最新技术”强调了Java标准版(J2SE)在版本5.0中引入的安全性和网络功能的增强。这一版本标志着Java平台在安全性、加密技术以及网络通信方面的重要进展,为开发者...

    j2se5.0中文版api

    j2se5.0中文版api第2部分,因为上传权限有限,给大家带来不便,请见谅

    由韩国出版的J2SE 5.0版的JAVA 2教材源代码

    J2SE 5.0是这个平台的一个重要里程碑,它引入了许多关键的新特性,提升了Java的效率、可读性和可维护性。本教材源代码正是围绕这一版本展开,对于学习和理解Java编程具有很高的价值。 1. **自动装箱与拆箱**:J2SE ...

    upload.jar for J2SE 5.0

    "upload.jar for J2SE 5.0" 是一个专为 Java 2 Standard Edition (J2SE) 5.0 版本设计的类库,主要用于处理文件上传功能。这个库是在 sun java jdk 1.5.0 开发环境中构建的,它提供了解决方案,使得开发者能够方便地...

    J2SE5.0中文版API

    对于java开发人员来说 没有一个帮助文档是很郁闷的 尤其对于自学的朋友们,今天得到一个中文版的J2SE5.0的API,不敢独自享用,共享出来给大家,分为2个部分part01和part02

    J2SERuntimeEnvironment5.0开发者版

    J2SE 5.0,也被称为Java SE 5.0,是这个平台的一个重要版本,发布于2004年,它带来了许多重大的改进和新特性,对Java编程语言和Java虚拟机(JVM)进行了显著的升级。 1. **泛型(Generics)** J2SE 5.0引入了泛型...

    真心福利放送Java API帮助文档网页版(J2SE 5.0)

    J2SE 5.0的文档包含了关于语言增强、泛型、枚举、变量作用域、类型推断、可变参数等新特性的说明。 1. **语言增强**:J2SE 5.0引入了注解(Annotations),这是一种元数据,可以附加到代码的不同部分,帮助编译器、...

    j2se api 5.0 中文版

    真正的j2se api 5.0 中文版帮助,有需要的可以下载.

    J2SE 5.0 API [1] (中文版)

    提示:本人已将一次性可完整下载版上传,名称为:J2SE 5.0 API (中文版)方便网友下载! 很好用的J2SE 5.0 API,具有索引的功能!!! 下载前请注意:不过由于本人等级太低所以只能分3部分上传,劳烦您下载全部3部分...

    J2SE 5.0 API [2] (中文版)

    提示:本人已将一次性可完整下载版上传,名称为:J2SE 5.0 API (中文版)方便网友下载! 很好用的J2SE 5.0 API,具有索引的功能!!! 下载前请注意:不过由于本人等级太低所以只能分3部分上传,劳烦您下载全部3部分...

Global site tag (gtag.js) - Google Analytics