设计模式

一、单例模式 -----> 饿汗式

	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了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值