package edu.swufe.jonathan.practice;
public class Main {
public static void main(String[] args) {
//单例模式
//SingleTon singleTon = new SingleTon();由于构造方法是私有的,则外部不能用new的方式创建对象。
SingleTon singleTon = SingleTon.geTon();
}
}
class SingleTon{
private static SingleTon singleTon = null ;//通过类内部new SingleTon()来产生对象供外部使用,
//不过此处为了避免浪费堆空间(因为是静态变量),此处仅声明一下——懒汉式
//为了配合下面的静态方法,此处也必须加static,因为静态方法只能访问外部的静态变量。
private SingleTon() {//如果构造方法声明成public,则外部类可任意创建若干个对象,所以要用private
System.out.println("单例模式下的对象生成成功");
}
public static SingleTon geTon() {//为了扔出类外部来使用,则定义一个公共方法来获得对象
//必须加static,否则必须要new一个对象才能调用这个方法,而外部不能new此类对象
if(singleTon == null) {
singleTon = new SingleTon();//呼应上面的null
}
return singleTon;
}
}
Java模式设计之单例模式记录
最新推荐文章于 2024-04-30 17:28:01 发布