Effective Java 学习笔记(2)
有时,我们在写一个构造函数时,经常因为它包含众多的参数而苦恼,这时可以考虑用Builder模式来创建对象。
如,我们要设计一个营养成份的类,包含能量,蛋白质,脂肪,钙,铁,锌,维生素A, 维生素B1 ... 等,但在构造的时候,不一定每次都需要这些参数,如钙,铁,锌和维生素等是可选的,为了适应多种可能的搭配,比较原始的办法就是采用telescoping constructor模式,例子如下。
public class Nutrition
{
private int calories;
private int protein;
private int fat;
private int ca;
private int fe;
private int Va;
private int Vb;
...
public Nutrition(int cal, int pro){...}
public Nutrition(int cal, int pro, int fat){...}
public Nutrition(int cal, int pro, int fat, int ca){...}
public Nutrition(int cal, int pro, int fat, int ca, int fe){...}
public Nutrition(int cal, int pro, int fat, int ca, int fe, int ){...}
public Nutrition(int cal, int pro, int fat, int ca, int fe, int Va){...}
.......
}
这种方法的缺点很明显,一个函数的参数一旦超过3个,用户就很容易把顺序搞混,而更杯具的是这种情况编译器无法识别,非常不易查错。
第二种方法是JavaBean模式。
public class Nutrition
{
相关文档:
文章转自:http://www.javaeye.com/topic/31742
---------------------------------------------------
乱码对于使用非英语文字程序员基本上是一直缠绕在身边的麻烦事,这个谁也避免不了。下面是我解决乱码时候的一点小经验。欢迎指正
一、避免乱码的一些注意点:
1.尽量使用统一的编码,如果你是重头开发一个� ......
³ Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
--凡是自己可以起名字的地方都叫标示符,都遵守标示符的规则。
³ Java 标识符有如下命名规则:
– 标识符由字母� ......
文章里有一些表格,javaeye的帖好像不支持表格形式,有兴趣可以到我的blog看看。
http://hzxdark.javaeye.com
一.JPCAP简介
众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。
JPCAP实际上并非一个真正去实现对数据链路层的控制,而� ......
Web开发中经常用到的一些名词,按同功能类型的进行分组:
1.标签:WebWork标签、JSTL、JSP标签
2.AOP 拦截器 过滤器 监听器 校验器
3.面向接口 面向切面 控制反转 依赖注入
4.单态模式 DAO模式 装饰模式
5.缓存:数据缓存 服务器端缓存 客户端缓存
6.ORM EJB[三种Bean]
7.JMS
8.MVC开发模式
9.W ......
Java Learning Path (一)、工具篇
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外, ......