加载中
第六章:枚举和注解。ITEM34:用接口模拟可伸缩的枚举。

1 package com.twoslow.cha6; 2 3 public interface OperationInterface { 4 5 double apply(double x , double y) ; 6 } 1 package com.twoslow.cha6; 2 3 public enum Ba...

2014/09/04 15:04
2
第四章:类和接口。ITEM13:使类和成员的可访问性最小化。

信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这 里我们简要列出几项受益于该原则的优势: 1.更好的解除各个模块之间的耦合关系: 由于模块间的相互...

2014/09/04 15:04
9
第二章、创建和销毁对象。ITEM1:考虑用静态工厂方法代替构造器

除了使用构造器来获取类的一个实例,还可以使用静态工厂方法(static factory method)。 下面的方法是将boolean基本类型转成一个Boolean对象引用: 1 public final class Boolean implements...

2014/09/04 15:04
7
第七章:方法。ITEM39:必要时进行保护性拷贝。

1 package com.twoslow.cha7; 2 3 import java.util.Date; 4 5 public final class Period { 6 7 private final Date start ; 8 private final Date end ; 9 ...

2014/09/04 15:04
2
第三章:对于所有对象都通用的方法。ITEM9:覆盖equals时总要覆盖hashCode。

1.在应用程序执行期间,只要对象的 equals 方法的比较操作所用到的信息没有被修改,那么对这同一个对象多次调用,hashCode 方法都必须始终如一地返回同一个整数。在同一个应用程序的多次执 行过...

2014/09/04 15:04
10
第三章:对于所有对象都通用的方法。ITEM8:覆盖equals时请遵守通用约定。

1、什么时候需要覆盖equals?如果类具有自己特有的“逻辑相等”概念,而且超类还没有覆盖equals。 2、覆盖equals时需要遵守的约定: 自反性。对于任何非null的引用值x,x.equals(x)必须返回t...

2014/09/04 15:04
2
第二章:创建和销毁对象。ITEM3:用私有构造器或者枚举类型强化Singleton属性。

声明一个Singleton类的3种方法: package com.twoslow.cha2; /** * 可以通过AccessibleObject.setAccessible(),通过反射机制调用私有构造器。 * @author sai * */ public class...

2014/09/04 15:03
6
第七章:方法。ITEM43:返回零长度的数组或者集合,而不是null 。

1 private final List<String> l = ... ; 2 3 public String[] getString() { 4 if(l.size() == 0) 5 return null ; 6 } ...

2014/09/04 15:03
6
第四章:显示当月日期的小程序。

1 package cha4; 2 3 import java.text.DateFormatSymbols; 4 import java.util.Calendar; 5 import java.util.GregorianCalendar; 6 7 public class CalendarTest { 8 9...

2014/09/04 15:03
5
第二章:创建和销毁对象。ITEM2:遇到多个构造器参数时要考虑用构建器。

如果一个类中有大量的可选参数,有以下几种方式: 1、重叠构造器: package com.twoslow.cha2; /** * 重叠构造器可行,但是当由许多参数的时候,客户端代码很难编写。 * @author sai ...

2014/09/04 15:03
3
第二章:创建和销毁对象。ITEM6:消除过期的对象引用。

1 package com.twoslow.cha2; 2 3 import java.util.Arrays; 4 import java.util.EmptyStackException; 5 6 public class Stack { 7 8 private Object[] elements ; ...

2014/09/04 15:03
8
第六章:枚举和注解。ITEM30:用enum代替int常量。&ITEM32:用EnumSet代替位域。&ITEM33:用EnumMap代替序数索引。

1 package com.twoslow.cha6; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 public enum Operation { 7 8 PLUS("+") { 9 @Override 10 ...

2014/09/04 15:03
16
第八章:通用程序设计。ITEM45:将局部变量的作用域最小化。

 1.将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。在 C 语言中要求局部变量必须在一个代码块的开头处进行声明,出于习惯,有些开发者延续了这样的做法。   ...

2014/09/04 15:03
4
第四章:类和接口。ITEM16:复合优先于继承。

1 package com.twoslow.cha4; 2 3 import java.util.Collection; 4 import java.util.HashSet; 5 6 /** 7 *这里我们需要扩展 HashSet 类,提供新的功能用于统计当前集合中元素...

2014/09/04 15:03
3
SpringMVC介绍之Validation

对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证。SpringMVC自身对数据在服务端的校验有一个比较好的支持...

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部