package Danli;
public class Singleton {
private static Singleton instance;
private Singleton()
{
}
public static Singleton getInstance()
{if(instance==null)
{instance=new Singleton();
}
return instance;
}
}
package Danli;
public class Test {
public static void main(String args[])
{Singleton s1=Singleton.getInstance();
Singleton s2=Singleton.getInstance();
if(s1==s2)
{System.out.println("两个实例相同");
}
}
}
单例模式读取xml文件
package peizhi;
import java.io.InputStream;
import java.util.Properties;
public class AppConfig {
private String paramA;
private String paramB;
public static AppConfig instance;
public String getParamA() {
return paramA;
}
public String getParamB() {
return paramB;
}
private AppConfig()
{readConfig();
}
public static AppConfig getInstance()
{if(instance==null)
{instance=new AppConfig();
}
return instance;
}
private void readConfig()
{Properties p=new Properties();
InputStream in=null;
try
{in=AppConfig.class.getResourceAsStream("config.properties");
p.load(in);
this.paramA=p.getProperty("paramA");
this.paramB=p.getProperty("paramB");
}
catch(Exception e)
{e.printStackTrace();
}
finally
{try
{in.close();
}
catch(Exception e)
{e.printStackTrace();
}
}
}
}
package peizhi;
public class Test {
public static void main(String args[])
{AppConfig app=AppConfig.getInstance();
String paramA=app.getParamA();
String paramB=app.getParamB();
System.out.println("paramA="+paramA+" paramB="+paramB);
}
}