JAVA基础day08
多态
多种形态
构成多态的前提条件:
- 1:继承关系
- 2:父类变量指向了子类对象
- 3:一定要有方法的重写
设计模式
有23种,前人总结的编码套路
单例模式(1饿汉式)
含义: 一个类只能产生一个实例对象。
使用场景: windows 任务管理器
如何编写:
- 构造器私有
- 对外提供创建对象的方法
- 声明一个static的成员变量, 类加载的时候创建当前实例对象
- 在获取对象方法中返回 成员变量的值
public class Single {
// 声明一个Single对象
public static Single single = new Single();
//1:将构造器私有
private Single() {
}
public static Single getInstance() {
return single;
}
public static void add() {
}
}
优缺点分析:
(优): 天然线程安全
(缺):不能做到延迟加载
(2)懒汉式
能够做到延迟加载 但是线程不安全
public class Lazy {
private static Lazy lazy = null;
private Lazy() {
}
public static Lazy getInstance() {
if(lazy==null) {
lazy = new Lazy();
}
return lazy;
}
}
代码块
局部代码块:
声明在方法中的代码块
**缩减局部变量的生命周期 提高内存是使用率**
成员代码块:
初始化块
**声明在方法外 类中的代码块**
**初始化块在类加载的时候是不会执行的**
**在创建对象之前会被调用(对于对象中的一些初始进行初始化操作**
静态代码块:
声明在类中 方法外 且使用static修饰
**类加载的时候就会被加载 并且只加载1次 静态内容**
类中的执行顺序:
1:首先执行静态内容(加载) 静态代码块
- 2:初始化块
- 3:构造器
类加载:
- 使用当前类中的静态方法、静态变量
- 创建当前类的实例对象