zoukankan      html  css  js  c++  java
  • java_可变参数构造器 Bulder模式

    package com.test1.www;
    
    class NutritionFacts {
    	//必须
    	private int servingSize;
    	private int servings;
    	//可选, Build类必须初始化
    	private int calories;
    	private int fat;
    	private int sodium;
    	private int carboohydrate;
    	
    	public int getServingSize() {
    		return servingSize;
    	}
    
    
    	public int getServings() {
    		return servings;
    	}
    
    
    	public int getCalories() {
    		return calories;
    	}
    
    
    	public int getFat() {
    		return fat;
    	}
    
    
    	public int getSodium() {
    		return sodium;
    	}
    
    
    	public int getCarboohydrate() {
    		return carboohydrate;
    	}
    
    
    	static class Builder {
    		private int servingSize;
    		private int servings;
    		private int calories=0;
    		private int fat=0;
    		private int sodium=0;
    		private int carboohydrate=0;
    
    		public Builder(int servingSize, int servings) {
    			this.servingSize = servingSize;
    			this.servings = servings;
    		}
    
    		public Builder calories(int val) {
    			calories = val;
    			return this;
    		}
    
    		public Builder fat(int val) {
    			fat = val;
    			return this;
    		}
    
    		public Builder sodium(int val) {
    			sodium = val;
    			return this;
    		}
    
    		public Builder carboohydrate(int val) {
    			carboohydrate = val;
    			return this;
    		}
    		public NutritionFacts build() {
    			return new NutritionFacts(this);
    		}
    
    	}
    
    	
    	public NutritionFacts(Builder builder){
    		servingSize = builder.servingSize;
    		 calories=builder.calories;
    		 fat=builder.fat;
    		 sodium = builder.sodium;;
    		 carboohydrate= builder.carboohydrate;
    		
    	}
    }
    
    public class Demo2 {
    	public static void main(String[] args) {
    		NutritionFacts nt = new NutritionFacts.Builder(240, 8).calories(20).carboohydrate(30).fat(20).sodium(2).build();
    		
    		System.out.println(nt.getServingSize());
    		System.out.println(nt.getServings());
    		System.out.println(nt.getCalories());
    		System.out.println(nt.getFat());
    		System.out.println(nt.getCarboohydrate());
    		System.out.println(nt.getSodium());
    	}
    }
    


  • 相关阅读:
    Hadoop学习笔记之六:HDFS功能逻辑(2)
    Hadoop学习笔记之五:HDFS功能逻辑(1)
    Hadoop学习笔记之四:HDFS客户端
    Hadoop学习笔记之三:DataNode
    Hadoop学习笔记之二:NameNode
    MySQL不同存储引擎下optimize的用法
    Zabbix数据库表分区
    Zabbix备份数据文件
    Web性能优化之-深入理解TCP Socket
    DDOS攻击攻击种类和原理
  • 原文地址:https://www.cnblogs.com/MarchThree/p/3720427.html
Copyright © 2011-2022 走看看