Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。
单例模式是一种创建模式,这种模式只涉及一个单独的类,它负责创建自己的对象
单例模式的目的是使得类的一个对象成为系统中的唯一实例
==============================================================================
代码示例1
public class MainWindow {
//创建静态私有的类对象
private static MainWindow instance = new MainWindow();
//私有化无参构造方法
private MainWindow() {}
//静态方法返回一个类实例
public static MainWindow getInstance() {
return instance;
}
public void showMesage() {
System.out.println("Hello World!");
}
}
public class Main {
public static void main(String[] args) {
//返回一个类实例
MainWindow obj =MainWindow.getInstance();
obj.showMesage();
}
}
-------------------------------------------------------------------------------------------------------------------
代码示例2
package com.demo;
public class Singleton {
private Singleton() {
System.out.println("初始化singleton");
}
private static volatile Singleton instance =null;
public static Singleton getInstance() {
if (instance==null) {
synchronized (Singleton.class) {
if (instance==null) {
instance=new Singleton();
}
}
}
return instance;
}
}
package com.demo;
public class Main {
public static void main(String[] args) {
//返回一个类实例
Singleton singleton =Singleton.getInstance();
}
}