摘要: 不要以为JAVA是安全的,如果编写的代码不严谨会使得安全性丢掉,当然这不是JAVA的错。final class Period...{private final Date start;private final Date end;public Period(Date s,Date e)...{if(s.compareTo(end)>0)...{throw new IllegalArgumentException(s+" after "+e):}start=s;end=e;}public Date start()...{return start;}public Date 阅读全文
posted @ 2011-01-18 16:12 hibernate3例子 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 11.3.1 单例(Singleton)类 11.3.2 枚举类 11.3.3 不可变(immutable)类与可变类 11.3.4 具有实例缓存的不可变类 11.3.5 松耦合的系统接口创建类的实例的最常见的方式是用new语句调用类的构造方法。在这种情况下,程序可以创建类的任意多个实例,每执行一条new语句,都会导致Java虚拟机的堆区中产生一个新的对象。假如类需要进一步封装创建自身实例的细节,并且控制自身实例的数目,那么可以提供静态工厂方法。例如Class实例是Java虚拟机在加载一个类时自动创建的,程序无法用new语句创建java.lang.Class类的实例,因为Class类没有提供p 阅读全文
posted @ 2011-01-18 15:49 hibernate3例子 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 关于不可变类和可变类关于不可变类和可变类 所谓不可变类,是指采用final关键字修饰的类,该类不可被继承,当创建了这个类的实例后,就不允许修改它的属性值。在JDK的基本类库中,所有基本类型的包装类,如Integer和Long类,都是不可变类,java.lang.String也是不可变类。以下代码创建了一个String对象和Integer对象,它们的值分别为“Hello”和 10,在程序代码中无法再改变这两个对象的值,因为Integer和String类没有提供修改其属性值的接口。 String s=new String("Hello"); Integer i=new Inte 阅读全文
posted @ 2011-01-18 15:03 hibernate3例子 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 静态工厂方法讲解<一> 创建类的实例的最常见的方式是用new语句调用类的构造方法。在这种情况下,程序可以创建类的任意多个实例,每执行一条new语句,都会导致Java虚拟机的堆区中产生一个新的对象。假如类需要进一步封装创建自身实例的细节,并且控制自身实例的数目,那么可以提供静态工厂方法。 例如Class实例是Java虚拟机在加载一个类时自动创建的,程序无法用new语句创建java.lang.Class类的实例,因为Class类没有提供public类型的构造方法。为了使程序能获得代表某个类的Class实例,在Class类中提供了静态工厂方法forName(String name),它的 阅读全文
posted @ 2011-01-18 14:52 hibernate3例子 阅读(288) 评论(0) 推荐(0) 编辑