JavaSE(2)

1. 高级类特性

1.1 初始化块

作用:

在这里插入图片描述

执行顺序:

在这里插入图片描述

静态代码块在这里插入图片描述在这里插入图片描述

1.2 final

在这里插入图片描述

1.3 抽象类

在这里插入图片描述
在这里插入图片描述

1.4模版方法设计模式

在这里插入图片描述
在这里插入图片描述

1.5接口

在这里插入图片描述
在这里插入图片描述

接口实现多重继承

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口与抽象类的区别

在这里插入图片描述
父类需要稳定的抽象,如果父类老是在改,基于这个父类的子类,子类的子类,都会受到影响
然而有时我们又确实需要给父类增加一些方法,那么就不能直接在父类上下手,只能新建一个接口,在接口上扩展方法,其他需要的子类自行去实现接口
在这里插入图片描述
在这里插入图片描述

1.6工厂模式

在这里插入图片描述
在实际开发中,都是合作开发,每个开发人员写部分代码,大家集合在一起就是一个项目
问题:
开发人员A要改代码,例如改类名,把BWM3改成BWM3i,导致开发人员B也要改代码
在这里插入图片描述
实例:
开发A创造产品接口,产品工厂接口
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
开发B使用工厂接口创造实际对象
在这里插入图片描述
当开发A改动对象内容
在这里插入图片描述
不影响开发B的代码

结论:在这里插入图片描述

1.7 内部类在这里插入图片描述