接口和抽象类
抽象类
abstract关键字
修饰类和方法,称为抽象类和抽象方法
抽象方法:没有方法的实现体(语句块)
抽象类:非抽象类中不允许有抽象方法。抽象类中可以有抽象方法和非抽象方法
模板设计模式
在一个类中事先写好一个模型算法,而在这个模型算法中需要调用者提供一个功能过程,把功能过程方法定义为抽象方法
abstract、static、final、private同时应用在一个方法上时,是够可以?
接口
- 定义接口 :使用interface关键字
- 接口中只能写常量和抽象方法。
属性默认含有 public static final 关键字 - 用一个类实现一个接口(也是属于继承关系),这个类要重写接口所有未实现的方法。可以是多实现
- 接口和接口也有继承关系,可以是多继承,但是类和类的继承是单继承
- 当一个类既有继承又有实现 public class Test extends TestA implement IA,IB { }
接口的作用
- 制定标准规范
- 做设计
- 实现降耦合
一个类中调用了另外一个类的功能,这两个类就具有耦合度(依赖关系)
接口+工厂模式
工厂模式:将创建对象的过程封装到一个类中,这个类就叫做工厂类
提倡接口编程,在程序出现的引用是接口类型。
接口和抽象类的区别
- 接口定义使用interface,类定义使用class
- 接口中只能定义常量和抽象方法。
- 类和类是单继承,接口和接口是多继承
- 一个类实现了一个接口,这个类要重写接口中所有的方法,除非这个类是抽象类。
Override和Overload的区别
- Override是重写,当子类继承的方法不能满足子类的需求,要对其进行重写,要求方法名、参数列表、返回类型与父类方法相同
- Overload是方法重载,一个类中,方法名相同参数列表不同的这些方法就构成了重载。