- The following implementation ensure there is one instance for each SubClass
Create abstract SuperClass // forbid initiate
create protected constructor // only access by subclass
create public access to instance field //
defien subclassol
create private constructor // only access by subclass
override public method to access to instance field //
public abstract SuperClass{
protected SuperClass(){
// interface to subclass
}//:f
public static SuperClass(){
return instance;
}//:f
}//:c
public SubClass1 extends SuperClass{
private static SubClass instance=null;
private SubClass1(){
//prevent initiation
}//:f
public static SuperClass(){
if(instance==null){
instance=new SubClass1();
}//:if
}//:f
}//:c