看了单例模式,写下个人的理解:
单例模式的目的保证在某一环境下,该类只拥有一个实例,且该实例是否已经创建由该类自己判断。由上面两点可知:一、这个类拥有自己的一个实例的引用。二、自己判断是否已有自身实例。写一个例子如下方便理解:
顺便分享一个知识点,==和equals的区别,==用来判断引用类型时,比较的是对象的内存地址是否相同。而equals比较的是“内容”是否相同。
package example;
public class SingletonTest
{
private static SingletonTest instance = null;
private SingletonTest()
{
}
public static SingletonTest getInstance()
{
if(instance == null)
new SingletonTest();
return instance;
}
public static void main(String[] args)
{
SingletonTest instance1 = SingletonTest.getInstance();
SingletonTest instance2 = SingletonTest.getInstance();
if(instance1 == instance2)
System.out.println("获得的两个实例的内存地址是相同的!");
}
}