单例设计模式
一个类只有一个对象
1.私有化所有构造方法,不让外部创建对象
2.给外部提供一个方法获取当前类的对象
3.定义一个静态变量保存唯一的对象
private static 类名 对象;
public static 类名 方法名(){
return 对象;
}
4.创建对象
饿汉式:在定义静态成员变量时 直接创建当前类的一个对象 进行赋值
懒汉式:默认不创建对象,当调用的时候才创建
为了线程安全,需要加锁
if(instance == null){//判断对象是否有值
synchronized (HttpOperation.class){//加锁
if(instance == null){
instance = new HttpOperation();
}
}
}
如图,保证了单一对象
模板设计模式---主要使用抽象类实现
模板里面定义执行的过程(有些功能自己可以实现 有些功能必须子类实现)
抽象类用abstract修饰
抽象类不能被实例化
抽象类可以定义成员变量和方法
抽象方法用abstract修饰,且只能被子类实现
子类继承于抽象类,子类要实现抽象类里面的抽象方法,如果不想实现可以将自己也变成抽象类,其他方法可以选择实现(使用重写)
抽象类和不同类的区别
抽象类不能实例化,但是普通类可以
抽象类里面可以由抽象方法(只申明,不能实现,也不能有主体),普通类不行
实验操作
父类Act
子类Action
创建了一个子类的对象并运行