一、单例模式 -----> 饿汗式
public class User {
//在成员变量的位置初始化对象
private static User user = new User();
//设置私有构造
private User(){
}
//提供对外公开的方法
public static User getUser(){
return user;
}
}
之后在main方法中写下
public static void main(String[] args) {
User user = User.getUser();
User user2 = User.getUser();
if(user == user2){
System.out.println("是同一个对象");
}
}
同时用User来调用其中对外公开的方法getUser,这样就能保证对象的单一性了
二、Builder构造者模式
具体代码
Builder是在实体类中新创建的内部类,用来接收并处理数据,然后发送给实体类
具体如下
public class Food {
private String name;
private String email;
private int age;
private int money;
@Override
public String toString() {
return "Food{" +
"name='" + name + '\'' +
", email='" + email + '\'' +
", age=" + age +
", money=" + money +
'}';
}
public static class Builder{
//和实体类一样的成员变量内容
String name;
String email;
int age;
int money;
//模拟set方法
public Builder setName(String name){
this.name = name;
//返回给Builder的name(this)
return this;
}
public Builder setEmail(String email){
this.email = email;
return this;
}
public Builder setMoney(int money){
this.money = money;
return this;
}
public Builder setAge(int age){
this.age = age;
return this;
}
//接收数据,返回给对象
public Food getFood(){
Food food = new Food();
food.name = this.name;
food.age = this.age;
food.money = this.money;
food.email = this.email;
return food;
}
}
}
main方法中
在main中具体代码如下
public static void main(String[] args) {
Builder builder = new Builder();
builder.setAge(11);
builder.setMoney(11000);
builder.setEmail("@qq.21414352624");
builder.setName("游戏");
Food food = builder.getFood();
System.out.println(food);
}
这样就会把设置的数据通过Builder赋给Food了