接口是一种特殊的抽象类,抽象类通常需要继承来使用。
为什么要设计抽象类?如果是用于继承,普通类也可以用于继承。但实际中,有一些类,实例化它们并没有意义。比如animal,我们并不去实例化一个animal对象,而是去实例化一个具体的如bird ,tiger等,这样类中可以声明一些方法并不去实现,这样的方法就是抽象方法。
抽象类中可以存在普通方法,抽象类中可以不存在抽象方法。但存在抽象方法的类必须是抽象类。
由此可见抽象类的作用:
1 用来包含一些不去实现的方法。
2 用来明确这个类的作用(能否被实例化)
3 注意,继承后抽象方法需要重写。
更纯的抽象类是接口,表示它们看起来都是这样的,有以下特点:
1 完全抽象类,无任何实现
2 可用于多继承
3 包含属性,自动为public static final
4 方法自动为public abstract
5 应用于完全解耦,如用于策略模式,工厂等。
本文探讨了抽象类与接口的设计目的及使用场景。解释了抽象类如何通过声明未实现的方法提供通用的功能定义,并强调了接口作为更纯粹抽象形式的角色,以及其在多继承和解耦策略模式中的应用。

被折叠的 条评论
为什么被折叠?



