抽象类(abstract):
抽象类用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象
在面向对象设计中,越处于继承结构顶层的类,就越概括,越抽象。
Ø修饰的方法: 这种方法会成为一种抽象方法.
抽象方法一定要让子类覆盖并且给予实现的.
抽象类不一定包含抽象方法,但有抽象方法的类一定是抽象类.
abstract 一定不能和 private,static, final 同时使用.
Ø修饰类: 这个类成为一个抽象类.
抽象类不能创建对象 (构造函数可以被子类继承).
抽象类可以作为声明,引用,编译时类型,但不可以作为一个运行时类型.
抽象类是专门供子类继承用的
抽象方法
(
只有方法头,没有方法体定义,也就是说抽象方法无需实现
)
抽象类
1.含有抽象方法的类,必须声明为抽象类
2.由于是一种没有完全实现的类,抽象类不能实例化
1.在设计程序时,将声明与实现分开,使编程结构清晰;
实现一个接口多种实现,更能规范 OOP 中的多态特性
接口(interface):
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
接口(interface)是Java的四大类型之一
(class, interface, enum, annotation)
接口本质上是一个特殊的抽象类,不能被实例化。
接口是完全抽象的
标记型接口是指没有任何属性和方法的接口,只是一种类型的标记。系统可以使
用instanceof运算符判断某个对象是否实现了某个标记型接口,从而采取不同的处理策略.
接口(interface):接口的继承
一个接口可以继承于另外的一个或多个接口并自动获得继承接口中的所有的属性和方法的定义。
.如果包含多个父接口,那么接口名之间用逗号(,)分隔。
2.子接口自动获得每个父接口的类型以及所有父接口的属性和方法。
3.子接口可以自行定义任何的属性和方法。