Java学习之单例设计模式

本文介绍了Java中的单例设计模式,包括饿汉式和懒汉式的实现方式及其区别。饿汉式在类加载时创建对象,不存在线程安全问题但可能浪费资源;懒汉式在使用时创建对象,可能存在线程安全问题。Java.lang.Runtime是单例模式的经典应用。
摘要由CSDN通过智能技术生成

目录

设计模式

单例模式

一、饿汉式

二、懒汉式

三、饿汉式VS懒汉式

总结


设计模式

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

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

单例模式

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

一、饿汉式

一般情况下创建对象的代码

package com.hspedu.single_;

public class SingleTon01 {
    public static void main(String[] args) {
        GirlFriend gf1 = new GirlFriend("小红");
        GirlFriend gf2 = new GirlFriend("小黄");
    }
}
class GirlFriend {
    private String name;

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

构造器私有化,构造器私有化之后无法在main方法内创建新对象 

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

 解决方法

1.构造器私有化

2.在类中创建新对象

3.创建public static 方法,在方法中return创建的新对象

4.在main方法中通过类名.方法名调用上述方法

package com.hspedu.single_;

public class SingleTon01 {
    public static void main(String[] args) {
//        GirlFriend gf1 = new GirlFriend("小红");
//        GirlFriend gf2 = new GirlFriend("小黄");

        //调用静态方法,获取对象,接收返回的对象
        //调用静态方法,导致类加载,类加载只会进行一次
        GirlFriend gf1 = GirlFriend.getInstance();
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值