本篇文章主要介绍了"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