<<黑马程序员>>java基础之设计模式

设计模式 : 解决某一类问题最有效的方法

Java中有23种设计模式:

单例设计模式: 解决一个类在内存只存在一个对象

思想:

1,不让其他程序创建该类对象(封装,私有化类)

2,在本类中创建本类的对象

3,对外提供方法,使其他程序可访问这个对象

步骤:

1. 因为创建对象都要初始化构造函数,只要将本类的构造函数私有化,其他程序就不能创建本的对象

2. 在本类中创建本类的对象 并私有化

3. 对外提供访问本类对象的方法

举例:饿汉式:先初始化对象

public class Ex_Single

{

    public static void main(String[] args)

    {

Student ss = Student.getSingle();

Student ss2 = Student.getSingle();

ss.setNO(10);//用ss对象 改变NO

System.out.println(ss2.getNO());

ss2.setNO(20);//用ss2对象 改变NO

System.out.println(ss.getNO());

    }

}

//单例设计模式只需要多三步

class Student

{

    private int NO;

    

    private Student(){}//1 :私有化构造函数

    private static Student s = new Student();//2: 创建私有并静态本类对象

    public static Student getSingle()//3 : 创建共有的并静态的方法,返回//该对象

    {

return s;

    }

    

    public void setNO(int no)

    {

this.NO = no;

    }

    

    public int getNO()

    {

return NO;

    }

}

懒汉式:后加载初始化对象,和饿汉式只是写法上的区别 先加载对象和后加载对象的区别

public class Ex_Single

{

    public static void main(String[] args)

    {

Student ss = Student.getSingle();

Student ss2 = Student.getSingle();

ss.setNO(10);//用ss对象 改变NO

System.out.println(ss2.getNO());

ss2.setNO(20);//用ss2对象 改变NO

System.out.println(ss.getNO());

    }

}

//单例设计模式只需要多三步

class Student

{

    private int NO;

    

    private Student(){}//1 :私有化构造函数

    private static Student s = null;//2: 创建私有并静态本类对象

    public static Student getSingle()//3 : 创建共有的并静态的方法,返回//该对象

    {

if(s == null)

    s = new Student();//懒汉式在这里加载初始化对象

return s;

    }

    

    public void setNO(int no)

    {

this.NO = no;

    }

    

    public int getNO()

    {

return NO;

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值