Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java builder

作者:战虎天下   发布日期:2026-03-12   浏览:53

// Java Builder Pattern Example

// Product class
class Computer {
    private String cpu;
    private String ram;
    private String storage;
    private String graphicsCard;

    // Private constructor to enforce the use of the builder
    private Computer(ComputerBuilder builder) {
        this.cpu = builder.cpu;
        this.ram = builder.ram;
        this.storage = builder.storage;
        this.graphicsCard = builder.graphicsCard;
    }

    // Getter methods
    public String getCpu() {
        return cpu;
    }

    public String getRam() {
        return ram;
    }

    public String getStorage() {
        return storage;
    }

    public String getGraphicsCard() {
        return graphicsCard;
    }

    // Static inner class for the builder
    public static class ComputerBuilder {
        private String cpu;
        private String ram;
        private String storage;
        private String graphicsCard;

        // Setter methods that return the builder itself
        public ComputerBuilder setCpu(String cpu) {
            this.cpu = cpu;
            return this;
        }

        public ComputerBuilder setRam(String ram) {
            this.ram = ram;
            return this;
        }

        public ComputerBuilder setStorage(String storage) {
            this.storage = storage;
            return this;
        }

        public ComputerBuilder setGraphicsCard(String graphicsCard) {
            this.graphicsCard = graphicsCard;
            return this;
        }

        // Build method to create the final object
        public Computer build() {
            return new Computer(this);
        }
    }
}

// Usage example
public class Main {
    public static void main(String[] args) {
        // Using the builder pattern to create a Computer object
        Computer myComputer = new Computer.ComputerBuilder()
            .setCpu("Intel i7")
            .setRam("16GB")
            .setStorage("512GB SSD")
            .setGraphicsCard("NVIDIA RTX 3080")
            .build();

        // Print out the details of the computer
        System.out.println("CPU: " + myComputer.getCpu());
        System.out.println("RAM: " + myComputer.getRam());
        System.out.println("Storage: " + myComputer.getStorage());
        System.out.println("Graphics Card: " + myComputer.getGraphicsCard());
    }
}

解释说明:

  1. Product类 (Computer):

    • Computer 类是一个复杂对象,包含多个属性(如 CPU、RAM、存储和显卡)。
    • 构造函数是私有的,确保只能通过 ComputerBuilder 来创建 Computer 对象。
  2. Builder类 (ComputerBuilder):

    • ComputerBuilder 是一个静态内部类,提供了设置各个属性的方法,并返回自身以支持链式调用。
    • build() 方法用于创建最终的 Computer 对象。
  3. 使用示例:

    • Main 类中,展示了如何使用 ComputerBuilder 来构建一个 Computer 对象,并打印其属性。

上一篇:java字符串包含另一个字符串

下一篇:java判断是否是数字

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站