ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

Java内部类 使用静态内部类实现builder模式

来源:网络整理     时间:2016-08-10     关键词:Java内部类

本篇文章主要介绍了"Java内部类 使用静态内部类实现builder模式",主要涉及到Java内部类方面的内容,对于其他编程jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 项目中有个参数特别多的实体类,每次new一个对象都特别怕弄错,于是就有了下面示例的解决方式/*** @author quainter*/public class...

项目中有个参数特别多的实体类,每次new一个对象都特别怕弄错,于是就有了下面示例的解决方式

/**
 * @author quainter
 */
public class Person {

	/**
	 * 私有化默认构造方法,
	 * 不希望使用这种方法构造,
	 * 索性就不让别人用,
	 * 算是个好习惯吧
	 */
	private Person(){}

	//必填实例化参数
	private String name;
	//可选实例化参数
	private int sex;
	private int age;
	private String favor;

	//使用静态内部类实例化Person构造器
	private Person(Builder builder){
		this.name=builder.name;
		this.age=builder.age;
		this.sex=builder.sex;
		this.favor=builder.favor;
	}

	/**
	 * 静态内部构造器类(主角)
	 * @author quainter
	 */
	public static class Builder{

		private String name;
		private int sex;
		private int age;
		private String favor;

		public Builder(String name){
			this.name=name;
		}

		public Builder sex(int sex){
			this.sex=sex;
			return this;
		}

		public Builder age(int age){
			this.age=age;
			return this;
		}

		public Builder favor(String favor){
			this.favor=favor;
			return this;
		}
		public Person build(){
			return new Person(this);
		}
	}

	/**
	 * getters and setters
	 */

	public String getName() {
		return name;
	}

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

	public int getSex() {
		return sex;
	}

	public void setSex(int sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

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

	public String getFavor() {
		return favor;
	}

	public void setFavor(String favor) {
		this.favor = favor;
	}

	@Override
	public String toString() {
		return "Person [name=" + name + ", sex=" + sex + ", age=" + age
				+ ", favor=" + favor + "]";
	}

}
public class Test {

	public static void main(String[] args) {
		Person person = new Person.Builder("张三").age(17).favor("吃").sex(1).build();
		System.out.println(person);
	}

}

 运行结果:

OK,每天进步一点点!

  • 大小: 4 KB
  • 查看图片附件

以上就介绍了Java内部类 使用静态内部类实现builder模式,包括了Java内部类方面的内容,希望对其他编程jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_3183074.html

Java内部类相关图片

Java内部类相关文章