A Static Factory is a static procedure that creates an object, often an AbstractFactory.
public abstract class AbstractFactory { public static AbstractFactory createAnAbstractFactory() { // load a specific AbstractFactory somehow... // like dynamically from a configuration file } public abstract ConcreteProduce1 createConcreteProduce1(); public abstract ConcreteProduce2 createConcreteProduce2(); public abstract ConcreteProduce3 createConcreteProduce3(); }The above example is an AbstractFactory that has a StaticFactory built into it. You create your instance by configing it in some way (like a config file or global property name) and calling it like so:
AbstractFactory fact = AbstractFactory.createAnAbstractFactory();Easy as cake.