</pre><pre>
package com.example.danli;
public class SingletonC
{
private static SingletonC instance = null;
public static SingletonC getInstance()
{
if( instance == null )
{
synchronized( SingletonC.class )
{
if( instance == null )
{
instance = new SingletonC();
}
}
}
return instance;
}
public void method()
{
System.out.println( "单例模式" );
}
}
package com.example.danli;
public class SingletonD
{
private static class SingletonHolder
{
private static SingletonD instance = new SingletonD();
}
private SingletonD()
{
}
public static SingletonD getInstance()
{
return SingletonHolder.instance;
}
protected void method()
{
System.out.println( "类部类实现的单例模式" );
}
}
package com.example.danli;
public enum SingletonE
{
instance;
SingletonE()
{
}
public void method()
{
System.out.println( "enum===单例模式" );
}
}
package com.example.danli;
public class TestActivity
{
public static void main(
String[] args )
{
SingletonC.getInstance().method();
SingletonD.getInstance().method();
SingletonE.instance.method();
}
}
输出结果:
单例模式
类部类实现的单例模式
enum===单例模式