2020.2.7 单例(Singleton)设计模式(饿汉式、懒汉式)、初始化块、关键字:final

单例(Singleton)设计模式

只有一个实例(实例化对象)。
在整个软件系统运行过程中,这个类只被实例化一次,以后不论在哪只调用这一个实例。
例如,实例化对象创建要消耗大量的时间和资源。

饿汉式的单例模式

无论在main中调用多少个Single.getInstance()方法,都指向同一个single对象,所以从头到尾只会new一个Single对象。

懒汉式

最开始对象是null,直到有第一个人调用我,才new一个对象,之后所有调用我的都用这个对象。

懒汉式和饿汉式的区别,就是什么时候new这个对象。

懒汉式,是在第一次有人调用getInstance方法时来new对象,以后再有人调用getInstance方法直接就返回之前第一次new好的对象。

饿汉式,是在类加载之后,还没有人调用时,就先new好一个对象,以后无论谁来调用getInstance方法,就是直接返回之前new好的那个对象。

类的成员之四:初始化块

作用:对java对象进行初始化。

例:

执行步骤:在new Person()执行的时候
1、类的属性的默认初始化和显示初始化
2、执行代码块的代码
3、执行构造器的代码

在程序的运行过程中,非静态代码块每次new对象都有重新执行,静态代码块只执行一次。

在实际开发中,static静态代码块用在初始化类的静态属性(static类型属性)。
例:
构建了一个没有类名的Person的子类,也就是匿名的Person的子类。

这种类没有类名,就不能显示的new的方法创建对象,如果要是还有在构造器中初始化属性就没有办法了,这种情况就要用{}初始化。

关键字:final

final标记的类不能被继承;
final标记的方法不能被子类重写;
final标记的的变量(成员变量或局部变量)即称为常量。
一起修饰变量,就是全局常量。

常量最好写成大写,如果多个单词组成名称,用_连接。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月6日
下一篇 2020年1月6日

相关推荐