问关于单例类

来源:百度知道 编辑:UC知道 时间:2024/06/25 08:47:48
class Singleton
{
private static final Singleton st=new Singleton();
private Singleton();
{
}
public static Singleton getInstance()
{
returen st;
}
}

==================================================================
单例类的例子,
public static Singleton getInstance()
{
returen st;
}
这个方法具体有什么用?为什么是必要的呢???麻烦讲解下~~~

单例的意思最多只存在该类的一个实例
而你这个类的意思是存在且仅存在Singleton 类的一个实例

由于Singleton 类的构造方法是私有的,所有外界不可能直接创建该类的实例,如果要获得该类的实例,只有一个办法:
通过getInstance方法(即:Singleton.getInstance()就可以得到Singleton类的一个实例,所以该方法是必要的)

private Singleton();
{
}
说明构造函数是私有的,你不能通过new Singleton来产生一个Singleton对象;唯一获得该类的对象的方法是调用Singleton的静态方法 : public static Singleton getInstance()
{
returen st;
}
每次通过这个静态方法的获得的对象引用st都是同一个Singleton对象
的引用,故称之为单例类。也就是说你每次通过这个类获得的类对象都是同一个对象。

实际应用:例如我们桌面上的回收站可以看成是一个单例类产生的,因为一个环境下只允许有一个回收站。