什么是设计模式?
一套优秀代码的设计经验总结。它是特定场景下特定问题的处理方法。
设计模式的作用?
- 重用设计模式和代码
- 提高扩展性
- 大量使用面向接口编程,预留扩展位
- 项目扩展的原则:对修改关闭,对添加打开,也叫开闭原则;
- 提高灵活性,降低耦合度。
- 提高开发效率,节省大量的时间。
单例模式:
一个类只能由一个实例对象,一个类只能有一个对象,但是要让外界得到怎么做到一个类只有一个对象,并且还能让外界得到这个对象呢?
单例模式的特性:
- 必须构造器私有化,否则外界可以无限的new对象
- 本类必须产生该对象,且为静态成员
- 本类提供公开的静态方法,否则无法访问
单例模式中的饿汉式:
/**
* 单例模式:饿汉式
* 特性:
* 1.构造器私有化
* 实现了本类的对象,只能在本类创建,外界不能主动来创建本对象了
* 2.提供一个公共的静态的get方法
* 外界通过这个方法获取到这个类
* 3.本类的对象作为本类的属性存在,并且赋值,必须用static修饰
* 本类的对象作为本类的属性存在,get方法直接返回该属性
* 优点:线程安全
* 缺点:加载时间过早,有可能不用的时候就直接加载了
* */
public class HungryMan {
public static void main(String[] args) {
Test test1 = Test.getTest();
Test test2= Test.getTest();
Test test3 = Test.getTest();
System.out.println(test1 == test2);
System.out.println(test1 == test3);
}
}
class Test{
static Test test = new Test();
public static Test getTest() {
return test;
}
private Test() {
System.out.println("this is test class");
}
}