小白学java第20天
单例模式:
单例:1.所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类智能提供一个取得其对象实例的方法
2.单例模式有两种方式:1.饿汉式2.懒汉式
饿汉式 步骤如下:(可能会出现创建了没有使用的问题)
1.构造器私有化(防止用户直接去用)
2.类的内部创建对象(static对象)
3.向外暴露一个静态的公共方法,返回对象
懒汉式 步骤如下:(存在线程安全性问题,适用于单例流程)
1.构造器私有化(防止用户直接去用)
2.类的内部创建对象(static对象)
3.向外暴露一个静态的公共方法,可以返回一个对象
final 修饰符 可以修饰类、属性、方法、局部变量
使用场景:
1.不希望类被继承时
2.不希望父类的某个方法被子类覆盖或者重写时
3.不希望类的某个属性的值被修改
4.不希望某个局部变量被修改
注意:
1.final修饰的属性又叫常量 一般用xx_xx来命名
2.final修饰的属性在定义是必须赋初值(1)定义时(2)在构造器中(3)在代码块中
3.如果final修饰的属性是静态的则初始化的位置只能是(1)定义时(2)在静态代码块中 注意不能在构造器中赋值
4.final类不能继承但是可以实例化对象
5.如果类不是final类但是含有final方法则该方法虽然不能重写但是可以继承
6.如果一个类已经是final类就没必要将方法修饰为final
7.final不能锈蚀构造方法(构造器)
8.final往往和static代码块搭配使用
9.包装类(integer,doublefloat,boolean等都是final),String 也是final类