易截截图软件、单文件、免安装、纯绿色、仅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程序实现解压缩文件

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实现的大整数加法

public class Test{ 
  public static String addBigNum(String str1,String str2){
     //找出两字符串的长短,方便后边引用;
     String longer = str1.length() > str2.length()? str1 : str2;
     String shorter = str1.length( ......

【转】给Java包取一个独一无二的名字

来源:http://bbs.hackline.net/thread-3620-1-1.html
隐藏具体实现是Java语言的主要特点之一。正是因为这个原因,所以Java语言的移植性就特别好。如有个程序员编写了一个实现随机数的程序库,那么其他
程序开发人员只需要知道这个程序库需要传入那些参数,就可以使用这个类。现在无论是网上还是平时的工作中,有很多现成 ......

JAVA加密算法

MD5算法是一种非常优秀的加密算法。
MD5加密算法特点:灵活性、不可恢复性。
       介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Has ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号