// Project: Patterns1 // Module: factory // Source code file FactoryObject.java // Illustrate the Factory software pattern // Make the constructor private so that objects // can only be obtained using // the static getInstance method. public class FactoryObject { private int serialNum; private static int nextSerialNum = 1001; private FactoryObject(int theSerialNum) { serialNum = theSerialNum; } public static FactoryObject getInstance( ) { FactoryObject obj = new FactoryObject(nextSerialNum++); return obj; } public String toString( ) { return String.valueOf(serialNum); } }