zoukankan      html  css  js  c++  java
  • Java设计模式--Java Builder模式

    1、Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,很容易出错。

         public Person(String name)

         Person(String name, int age)

         Person(String name, int age, boolean sex)

    2、Android OkHttp框架中Request、Response类都使用了Java Builder模式。

    3、下面举一个小例子:

    /**
     * @author SunKing1927 2015年11月2日
     *         Java Builder模式
     */
    public class Person {
        private String name;
        private int age;
        private boolean sex;
    
        public String getName() {
            return name;
        }
    
        public int getAge() {
            return age;
        }
    
        public boolean isSex() {
            return sex;
        }
    
        public static class Builder {
            private String name;
            private int age;
            private boolean sex;
    
            public Builder name(String n) {
                name = n;
                return this;
            }
    
            public Builder age(int a) {
                age = a;
                return this;
            }
    
            public Builder sex(boolean s) {
                sex = s;
                return this;
            }
    
            public Person build() {
                return new Person(this);
            }
        }
    
        private Person(Builder builder) {
            name = builder.name;
            age = builder.age;
            sex = builder.sex;
        }
    }
    public class MainRun {
        public static void main(String[] argv){
            Person person = new Person.Builder().name("StephenHe").age(20).sex(true).build();
            System.out.println(person.getName() + "
    " + person.getAge() + "
    " + person.isSex());
        }
    }

    4、参考博文:

    http://www.cnblogs.com/moonz-wu/archive/2011/01/11/1932473.html

  • 相关阅读:
    java生成UUID通用唯一识别码 (Universally Unique Identifier)
    使用ToolRunner运行Hadoop程序基本原理分析
    Hadoop入门经典:WordCount
    Hadoop配置文件
    【Nutch2.2.1基础教程之3】Nutch2.2.1配置文件
    8大排序算法图文讲解
    动态字典树_前缀相互查找(HDU_1671)
    DP_基本DP+排序(HDU_1421)
    斯特灵公式
    七种 qsort 排序方法
  • 原文地址:https://www.cnblogs.com/begin1949/p/4930896.html
Copyright © 2011-2022 走看看