'Effective Java' builder 모드 생 성 대상

1687 단어
package com.base.test;

/**
 * 
 * @author ZHEN.L
 * @DATE 2016.04.22
 * 
 */
public class StudentDto {

	private String name;
	private int age;
	private String address;

	private StudentDto() {
	}

	public static class Build {

		private StudentDto s = new StudentDto();

		public Build name(String name) {
			this.s.setName(name);
			return this;
		}

		public Build age(int age) {
			this.s.setAge(age);
			return this;
		}

		public Build address(String address) {
			this.s.setAddress(address);
			return this;
		}

		public StudentDto build() {
			return s;
		}
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

}
import com.base.test.StudentDto;


public class Test {


<span style="white-space:pre">	</span>public static void main(String[] args) {
<span style="white-space:pre">		</span>StudentDto s = new StudentDto.Build().name("  ").age(18).address("   ")
<span style="white-space:pre">				</span>.build();
<span style="white-space:pre">		</span>System.out.println(s.getName() + " : " + s.getAge() + " : "
<span style="white-space:pre">				</span>+ s.getAddress());
<span style="white-space:pre">	</span>}
}

좋은 웹페이지 즐겨찾기