Java—单例类(设计模式)
·
目录
1、认识设计模式
什么事设计模式?
- 一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。
- 设计模式有20多种,对应20多种软件开发中遇到的问题。
关于设计模式,主要学什么?
- 解决什么问题?
- 这个问题怎么写
2、单例设计模式
作用:确保某个类只能创建一个对象。
比如:任务管理器在Java中可以认为是一个窗口对象。这个窗口只有一个已经能够满足用户的使用了。

2.1单例类、写法步骤

A类 单例类
//把A设计成单例类
public class A {
//1、私有化构造器.确保单例类在外面不能创建对象,使得单例类有了可能
private A(){}
//2.定义静态常量,用于本类的唯一对象
private static A a = new A(); //这里也可可以写成public static final A a = new A(); 让后省去第三步骤。
//3.提供公共的静态方法,返回常量a
public static A getInstance(){
return a;
}
Test类
public class Teat {
public static void main(String[] args) {
A a1= A.getInstance() ;
A a2= A.getInstance() ;
System.out.println(a1==a2);
}
}
单例类有很多种形式
上面我们学的是饿汉式单例。下面还会还会学习懒汉式单例。

俄汉式单例小结

3、懒汉式单例

B类 懒汉式单例
//设计成懒汉是单列
public class B {
//1.私有化构造器
private B(){}
//2.定义静态常量,用于本类的唯一对象
private static B b;
//3.提供公共的静态方法,返回常量b
public static B getInstance(){
if(b == null){
b = new B();
}
return b;
}
}
Test测试类
public class Teat {
public static void main(String[] args) {
B b1 = B.getInstance();
B b2 = B.getInstance();
System.out.println(b1);
System.out.println(b2);
System.out.println(b1 == b2);
}
}
/*代码输出结果:
Test3.B@6f2b958e
Test3.B@6f2b958e
true
*/
懒汉式单例小结

更多推荐
所有评论(0)