单例类的总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例类的总结相关的知识,希望对你有一定的参考价值。

/**
* 单例类的两种方法。
* 1.饿汉式
* 当类一加载就开始创建对象
* 2.懒汉式
* 当需要使用到类的对象是调用类的类方法才开始创建对象,想比较上面而言是
* 懒汉式。
* 注意,单例类的特点:
* 1.必须要将构造函数私有化,这样才能防止别的类通过构造方法来建立对象,但是也是因为如此,所以
* 单例类的成员变量和成员函数都必须要用static修饰,因此要想调用单例类的函数,只能通过类名.类方法的方式来进行
* 调用。
* 2.必须要在类内创建一个本类的对象。
* 3.向外提供一个公共的类 方法,使得别的类可以调用这个函数来获得对象。
* 最后用==来判断是否是产生了一个对象。
* @author 李明明
*
*/
public class SingletonTest {

public static void main(String[] args) {
singleton s1 = singleton.getSingleton();
singleton s2 = singleton.getSingleton();
singleton2 x1 = singleton2.getSingleton();
singleton2 x2 = singleton2.getSingleton();
System.out.println(s1==s2);
System.out.println(x1==x2);

}

}
//饿汉式单例模式。
class singleton
{
singleton(){

}
private static singleton s = new singleton();
public static singleton getSingleton(){
return s;
}


}
class singleton2
{
singleton2(){

}
private static singleton2 s = null;
public static singleton2 getSingleton(){
if(s==null)
{
s= new singleton2();
}else{
return s;
}
return s;

}


}




















































以上是关于单例类的总结的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 中 BasicObject 的单例类的单例类

单例类和元类

如何停止订阅单例类的流?

单例类和静态类的区别? [复制]

RMI 通信期间单例类的序列化

单例类