publicclassProduct{
List<String> parts =newLinkedList<String>();publicvoidAdd(String part){
parts.add(part);}publicvoidshow(){for(String part : parts){
System.out.println(part);}}}
publicclassConcreteBuilder1extendsBuilder{private Product product =newProduct();@OverridepublicvoidbuildPartA(){
product.Add("建造部件 A ");}@OverridepublicvoidbuildPartB(){
product.Add("建造部件 B ");}@Overridepublic Product getResult(){return product;}}
publicclassConcreteBuilder2extendsBuilder{private Product product =newProduct();@OverridepublicvoidbuildPartA(){
product.Add("建造部件 X ");}@OverridepublicvoidbuildPartB(){
product.Add("建造部件 Y ");}@Overridepublic Product getResult(){return product;}}