1. We have a class and define a static method of getInstance()
2. Compare these code line, the getInstance sequence will get failed return because it has two new instance belong to different object.
public class GenDarwinGlobal extends GenDarwinGlobalHelper
{
/**
* Script Name : <b>GenDarwinGlobal</b>
* Generated : <b>Mar 31, 2011 1:16:48 AM</b>
* Description : Functional Test Script
* Original Host : WinNT Version 5.2 Build 3790 (S)
*
* @since 2011/03/31
* @author dwei
*/
public void testMain(Object[] args)
{
// TODO Insert code here
}
public static GenDarwinGlobal getInstance()
{
return new GenDarwinGlobal();
}
}
{
/**
* Script Name : <b>GenDarwinGlobal</b>
* Generated : <b>Mar 31, 2011 1:16:48 AM</b>
* Description : Functional Test Script
* Original Host : WinNT Version 5.2 Build 3790 (S)
*
* @since 2011/03/31
* @author dwei
*/
public void testMain(Object[] args)
{
// TODO Insert code here
}
public static GenDarwinGlobal getInstance()
{
return new GenDarwinGlobal();
}
}
// FucLib.GenevaFuc.GenDarwinGlobal.getInstance().openBuyTransaction();
// FucLib.GenevaFuc.GenDarwinGlobal.getInstance().ClickQuery();
FucLib.GenevaFuc.GenDarwinGlobal oGD = new FucLib.GenevaFuc.GenDarwinGlobal();
oGD.openBuyTransaction();
oGD.ClickQuery();
// FucLib.GenevaFuc.GenDarwinGlobal.getInstance().ClickQuery();
FucLib.GenevaFuc.GenDarwinGlobal oGD = new FucLib.GenevaFuc.GenDarwinGlobal();
oGD.openBuyTransaction();
oGD.ClickQuery();
3. Also we can using this method to resolve this problem in the instance code .
private static GenDarwinGlobal instance = null;
public static synchronized GenDarwinGlobal getInstance()
{
if( instance == null)
{
instance = new GenDarwinGlobal();
}
return instance;
}
public static synchronized GenDarwinGlobal getInstance()
{
if( instance == null)
{
instance = new GenDarwinGlobal();
}
return instance;
}