一个类的构造函数通常与类名相同。
构造函数不声明返回类型。
一般地,构造函数总是public类型的。如果是private类型的,表明类不能被外部类或对象实例化。常用于Sington模式。也常用于只含有静态成员的类,此情况下类一般还要加一个sealed修饰符。
在构造函数中不要做对类的实例进行初始化以外的事情,也不要尝试显式地调用构造函数。
一般Singleton模式通常有几种形式:
第一种形式:
public class Singleton
{
private Singleton(){}
//在自己内部定义自己的一个实例
//注意,这是private只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance()
{
return instance;
}
}
{
private Singleton(){}
//在自己内部定义自己的一个实例
//注意,这是private只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance()
{
return instance;
}
}
第二种形式:
public class Singleton
{
private static Singleton instance = null;
public static synchronized Singleton getInstance()
{
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率!
if (instance == null)
instance = new Singleton();
return instance;
}
}
{
private static Singleton instance = null;
public static synchronized Singleton getInstance()
{
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率!
if (instance == null)
instance = new Singleton();
return instance;
}
}
引用自:
http://www2.cnblogs.com/netfork/archive/2004/03/22/3845.html