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

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
{
 


相关文档:

Java equals

boolean java.lang.Object.equals(Object obj)
Indicates whether some other
object is "equal to" this one.
The equals method implements an
equivalence relation on non-null object references:
It is reflexive: for
any non-null reference value x, x.equals(x) should return true.
It ......

java_选择排序法

Java 实现的选择排序法,先在Netbeans里调试运行了一下,然后又在Eclipse了运行了一下。
public class ArraySort {
     public static void main(String[] args) {
     int Arrays[]={50,45,2,678,90,40,};
     int i,j,temp,min;
     int len=Array ......

用Java程序实现解压缩文件

package com.huawei.globe;
import java.util.zip.*;
import java.io.*;
public class Compress {
 public Compress() {
 }
 // 压缩目录下的文件
 public void compress(String zipFileName, String inputFile) throws Exception {
  compress(zipFileName, new File(inputFile)); ......

java高手之路

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之外, ......

Java正则验证

import java.util.regex.*;

public final class RegExpValidator
{
/**
* 验证邮箱
* @param 待验证的字符串
* @return 如果是符合的字符串,返回 <b>true </b>,否则为 <b>false </b>
*/
public static boolean isEmail(String str)
{ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号