一.单列设计模式
饿汉式VS懒汉式
1. 二者最主要的区别在于创建对象的时机不同:饿汉式是在类加载就创建了对象实例,
而懒汉式是在使用时才创建。
饿汉式不存在线程安全问题,懒汉式存在线程安全问题。(线程问题仅简单了解)
饿汉式存在浪费资源的可能。因为如果程序员一个对象实例都没有使用,那么饿汉式创建的对象就浪费了,懒汉式是使用时才创建,就不存在这个问题。
二.final关键字
·基本介绍
final 中文意思:最后的,最终的.
final 可以修饰类、属性、方法和局部变量.
在某些情况下,程席员可能有以下需求,就会使用到final:
1)当不希望类被继承时,可以用final修饰.
2)当不希望父类的某个方法被子类覆盖/重写(override)时,可以用final关键字修饰
3)当不希望类的的某个属性的值被修改,可以用final修饰
4)当不希望某个局部变量被修改,可以使用final
三,代码块的顺序
普通代码块,普通属性初始化,构造方法的调用顺序如下:
①父类的静态代码块和静态属性(优先级一样,按定义顺序执行)
②子类的静态代码块和静态属性(优先级一样,按定义顺序执行)
③父类的普通代码块和普通属性初始化(优先级一样,按定义顺序执行)
④父类的构造方法
⑤子类的普通代码块和普通属性初始化(优先级一样,按定义顺序执行)
⑥子类的构造方法
注意:静态代码块只能直接调用静态成员(静态属性和静态方法),普通代码块可以调用任意成员。