Java的单例设计模式-饿汉式

什么是设计模式?

1.静态方法和属性的经典使用

2.设计模式是在大量的事件中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索

java共有23种设计模式

什么是单例模式?

单例(单个的实例)

1.所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法

2.单例模式有两种方式:

1)饿汉式 2)懒汉式

单例模式应用实例:

演示饿汉式和懒汉式单例模式的实现:

步骤如下:

1)构造器私有化 //防止直接new一个对象

2)类的内部创建对象

3)向外暴露一个静态的公共方法 //getInstance

4)代码实现

java 复制代码
package com.Single_;

public class SingleTon01 {
    public static void main(String[] args) {
        //可以直接调用方法获取对象
        System.out.println(GirlFriend.getInstance());

        //或者通过创建一个新的GirlFriend对象(不是new),来将GF类中的对象接收到里面
        GirlFriend instance = GirlFriend.getInstance();
        
        Object instance2 = GirlFriend.getInstance();//这样也行
        System.out.println(instance);
        //这里的instance和instance2是同一个对象,因为他俩接收到的都是被返回的gf对象
        
        
    }
}
/*
有一个类 GirlFriend
只能有一个女朋友
 */
class GirlFriend{
    private String name;
    //保证只能创建一个对象
    //1.构造器私有化
    //2.提供一个对象(需要是static)
    //3.为了能够使用,再提供一个公共的静态方法,可以返回对象

    //为了能够在静态方法中使用,返回gf对象,需要将其修饰为static
    private static GirlFriend girlfriend = new GirlFriend("小红");//静态相关的只会加载一次,也就是说这个对象只被创建一次

    private GirlFriend(String name) {
        this.name = name;
    }

    public static GirlFriend getInstance(){
        return girlfriend;
    }
}
相关推荐
panxianren7 小时前
Bun 1.4 的 bun test --parallel 将 4 秒的测试套件缩短到约 1 秒
java·javascript
“AI国潮设计-小江”8 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
程序喵大人9 小时前
【C++入门】编译链接模型 - 01 一个 C++ 程序是怎样变成可执行文件的
开发语言·c++·编译链接模型
sunshine22 girl9 小时前
Java学习七 Java 项目实战2-注册业务
java·学习
省钱兄--zs9 小时前
北京24小时自助健身房系统软件开发实战:从架构设计到部署指南
java·数据仓库·spring boot·小程序·需求分析
youdexiang9 小时前
Android录音软件时间关键词检索功能分析
java·人工智能
sunshine22 girl10 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
code2cat10 小时前
Java进阶篇之AtomicStampedReference:引用回到原值,版本戳仍能记住变化
java·cas·并发编程·aba
菜鸟~noob23311 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
惊讶的猫12 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python