天天看點

Java對象生成器

//Java簡單的對象工廠

import java.util.Date;//using the Date Class to testing

//

    public Object GetMeObject (){

        /

    }

    public void ChengeFactoryObject (Object o){

        _factoryName=o.getClass ().toString ();

        _ob=o;

        _count=0;

    }

    public String GetFactoryName (){

        return _factoryName;

    }

    public int GetFactoryObjectCount (){

        return _count;

    }   

}

//沒有任何功能的作測試用的類

class TestClassABC{

    public String toString(){

        return "This is a TestClassABC' s Object";

    }

}

/

    public Main () {

    }

    public static void main (String[] args) {

        System.out.println ("Access");

        Factory f=new Factory (new TestClassABC ());//工廠f

        Factory f2=new Factory(new String("Testing"));//工廠f2

        Object a=f.GetMeObject ();

        Object b=f.GetMeObject ();       

        /

        System.out.println ("這個對象工廠能夠産生的對象名稱: "+f.GetFactoryName ());

        System.out.println ("至今為止工廠産生的對象"+f.GetFactoryName ()+"數是:"+f.GetFactoryObjectCount ());

        //System.out.println(a);

        System.out.println ("這個對象工廠能夠産生的對象名稱: "+f2.GetFactoryName ());

        System.out.println ("至今為止工廠産生的對象"+f2.GetFactoryName ()+"數是:"+f2.GetFactoryObjectCount ());

        f.ChengeFactoryObject (new Integer (0));

        Object t1=f.GetMeObject ();

        Object t2=f.GetMeObject ();

        System.out.println ("這個對象工廠能夠産生的對象名稱: "+f.GetFactoryName ());

        System.out.println ("至今為止工廠産生的對象"+f.GetFactoryName ()+"數是:"+f.GetFactoryObjectCount ());

        //t1=100;

        //System.out.println (t1);

        //System.out.println (t2);

        f.ChengeFactoryObject(new Date());

        Date d1=(Date)f.GetMeObject();

        Date d2=(Date)f.GetMeObject();

    }

}