Java的单例设计模式-饿汉式
什么是设计模式?
1.静态方法和属性的经典使用
2.设计模式是在大量的事件中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索
java共有23种设计模式
什么是单例模式?
单例(单个的实例)
1.所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法
2.单例模式有两种方式:
1)饿汉式 2)懒汉式
单例模式应用实例:
演示饿汉式和懒汉式单例模式的实现:
步骤如下:
1)构造器私有化 //防止直接new一个对象
2)类的内部创建对象
3)向外暴露一个静态的公共方法 //getInstance
4)代码实现
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对象,需要将其修饰为staticprivate static GirlFriend girlfriend = new GirlFriend("小红");//静态相关的只会加载一次,也就是说这个对象只被创建一次private GirlFriend(String name) {this.name = name;}public static GirlFriend getInstance(){return girlfriend;}
}