单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
- 1、单例类只能有一个实例。
- 2、单例类必须自己创建自己的唯一实例。
- 3、单例类必须给所有其他对象提供这一实例。
代码如下:
public class Class1 {
static Class1 c1=null;
private Class1(){
}
public static Class1 getClass1(){
if (c1==null){
c1=new Class1();
}
return c1;
}
}
public class Demo {
public static void main(String[] args) {
new Class1();
Class1 c1 = Class1.getClass1();
}
}
结果如下:
因为单例类只能有一个实例,不能让其它类创建单例类的对象,所以就得先把单例类中的构造方法私有化。单例类必须自己创建自己的唯一实例,给所有其他对象提供这一实例,所以就要向外界提供一个方法,供外界使用唯一实例,因为外界不能创建对象,只能够通过类名调用,所以getClass1()方法要用static关键字修饰,而因为本方法中要使用c1这个变量名指向唯一实例,所以也要用static关键字修饰(这个和类加载有关,我的博客中有)。当第一次外界调用getClass1()方法时,因为c1变量此时还为null,所以执行if判断里的语句,创建出唯一的实例对象,然后将其返回,之后的每次调用,因为c1已经部位null了,所以不会新创建实例对象,直接返回c1,那个唯一实例。
注意:这是初学者对单例模式的了解,这里面没有考虑多线程并发问题等!
最后,觉得有用的话,可以点赞、收藏,加关注哟,要不下次就找不见了哟!