写点什么

单例模式

作者:卢卡多多
  • 2021 年 12 月 03 日
  • 本文字数:869 字

    阅读完需:约 3 分钟

单例模式

单例模式:(Singleton)


单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。


  单例的有且只有一个实例对象

  要点: 

     创建-构造器私有

      可以外部访问

静态:



package com.atlucas.creation.singleton;
/** * @author lucas * @create 2021-11-19 15:01 * @description 单例模式的实体类 */public class Person {

private String name;
private Integer age; /** * 单例模式;要求此系统中有且只有一个实例对象; * * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * 2.构造器私有化 * 3.外部访问对象,要从我们自己构造好的私有对象返回 * */

/** * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * private static final Person Instanc=new Peson(); 饿汉式,不让变动 */ private static Person Instance; //懒汉式时间换空间


/** * 2.构造器私有化 */ private Person (){ System.out.println("需要创建一个对象person"); }
/**3.外部访问 * 公共的静态方法-->利用静态存储方法区, * 建立一个静态的空对象,如果需要就一直存在,直至程序完结 * @return */ public static Person getPerson(){ //多线程情况下不安全 if (Instance==null){ Person person=new Person(); Instance=person; } return Instance; }
public static void main(String[] args) { //静态的公共获取方法--对象都一样 Person person1 = Person.getPerson(); Person person2 = Person.getPerson();
System.out.println(person1==person2); }}
复制代码


发布于: 54 分钟前阅读数: 6
用户头像

卢卡多多

关注

努力寻找生活答案的旅途者 2020.04.12 加入

公众号:卢卡多多,欢迎一起交流学习

评论

发布
暂无评论
单例模式