public class Single {private static Single instance; public static Single getInstance(){ if(instance== null) instance = create(); return instance; } private Single(){} protected Single create() { return new Single();}}class SingeSub extends Single{}