分享

【第9题】单例模式,你是我的唯一

 小虚竹 2022-03-31

文章目录

零、前言

​ 今天是学习 JAVA语言 打卡的第9天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 ),读完文章之后,按解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了。

​ 因为大家都在一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。

​ 学完后,自己写篇学习报告的博客,可以发布到小虚竹JAVA社区 ,供学弟学妹们参考。

​ 我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。

一、题目描述

题目: 使用单例模式来保证皇帝的唯一性。

二、解题思路

1、单例模式的特点是仅能获取一个对象,为了防止其他用户创建对象,需要将构造方法设置成private

2、然后提供一个静态方法,该方法返回这个类的对象。

三、代码详解

Emperor对象

public class Emperor {
    private static Emperor emperor = null;// 声明一个Emperor类的引用

    private Emperor() {// 将构造方法私有
    }

    public static Emperor getInstance() {// 实例化引用
        if (emperor == null) {
            emperor = new Emperor();
        }
        return emperor;
    }

    public void getName() {// 使用普通方法输出皇帝的名字
        System.out.println("我是皇帝:虚竹哥");
    }
}

测试类

public class Basics09 {
    public static void main(String[] args) {
        System.out.println("创建皇帝1对象:");
        Emperor emperor1 = Emperor.getInstance();// 创建皇帝对象
        emperor1.getName();// 输出皇帝的名字
        System.out.println("创建皇帝2对象:");
        Emperor emperor2 = Emperor.getInstance();// 创建皇帝对象
        emperor2.getName();// 输出皇帝的名字
        System.out.println("创建皇帝3对象:");
        Emperor emperor3 = Emperor.getInstance();// 创建皇帝对象
        emperor3.getName();// 输出皇帝的名字
    }
}

如图

四、推荐专栏

《JAVA从零到壹》

《JAVA从零到壹》第七讲:面向对象高级特性

五、示例源码下载

关注下面的公众号,回复筑基+题目号

筑基09

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多