易截截图软件、单文件、免安装、纯绿色、仅160KB

《Effective java中文第2版》读书笔记1

第2条:遇到多个构造器参数时要考虑用构建器
某个类的属性较多,初始化的时候又有一些是必须初始化的,而且类型有形同,
比如new Contact("姓名","显示名","手机号","飞信号","所在地",年龄,性别);
前5个属性是String 类型,后2个是int类型,在填写构造方法的时候很容易填写错位,或者少填写,或者颠倒了属性,
如下方法可以减少这种错误发生的几率,
Contact contact = new Contact();
contact.setName("姓名");
contact.setDisplayName("显示名");
contact.setPhoneNumber("手机号");
contact.setFetionNumber("飞信号");
contact.setHometown("所在地");
contact.setAge(23);
contact.setGender(0);
这么写是通常的做法,看起来还不够清晰,我们在每个set方法里retrun一个Contact类型,比如
public Contact setName(String name)
{
this.name = name;
return this;
}
这样上面的构造Contact的代码就可以这么写了
Contact contact = new Contact() .setName("姓名")
.setDisplayName("显示名")
.setPhoneNumber("手机号")
.setFetionNumber("飞信号")
.setHometown("所在地")
.setAge(23)
.setGender(0);
这样写是不是更清爽了!属性不会再填写错误了!而且阅读代码的时候也一目了然,都给Contact初始化了那些属性,和属性的值是什么!
第3条:用私有构造器或者枚举类型强化Singleton属性
建议使用如下方法创建单例类
public final class Elvis
{
private static Elvis INSTANCE;
private Elvis(){};
synchronized public static Elvis getInstance()
{
if( INSTANCE == null )
{
INSTANCE = new Elvis();
}
return INSTANCE;
}
//执行其他操作
private Object readResolve()
{
return INSTANCE;
}
}
这种构建方法好处,组成类的成员声明很清楚地表明了这个类是个Singleton,并且也解决了INSTANCE的同步问题,
没有暴露共有的INSTANCE变量,这样更有力于隐藏类的内部实现,
另外,改做法也很容易就可以修改成非单例模式,加上的readResolve方法可以保证反序列化时也是同一个对象。

第4条:通过私有构造器强化不可实例化的能力
我们软件中常用的常量集(Constants),工具集(Tool,Utility)都应该是不可实例化的类,那么他们应该如下构建
public final class


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

JAVA编程题

1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
import java.util.*;
public class bycomma{
 public static String[] splitStringByComma(String source){
   if(source==null||source.trim().equals(""))
    ......

String in Java

 众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!!
【镜头1】 String对象的创建
   1、关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:
        & ......

[vb]使用vb统计.java的行数

 工作需要,针对java文件,作了一个行数统计的工具。统计的主要代码如下:
    Set srcIn = fso.OpenTextFile(fileNm, ForReading)
    
    Do While Not srcIn.AtEndOfStream
        buf = srcIn.ReadLine
 &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号