抽象类:
如果子类没有实现父类的抽象方法,那么子类也是抽象的,类前要加abstract。
针对的是类,接口针对的是行为。
抽象类可以没有抽象方法,但一个类有抽象方法时,这个类就是抽象类
有一个类它继承了抽象类,那它必须有抽象方法
如果说这个类没有实现这个抽象类的抽象方法,那么这个类也是个抽象类。
抽象类不能被实例化。
接口:
接口是标准和规范,接口成员包含常量和未实现的方法,接口的访问修饰符是public。
implements实现接口,接口可以继承多个接口。
接口的用法:
- 定义一个接口需要使用interface关键字。
- 接口的成员列表只能包含抽象方法及常量,常量必须在接口中定义的时候就初始化。
- 接口没有构造方法,也就是说接口和抽象类一样不能创建自己的对象。
- 接口可以继承接口,和类不同的是,接口继承其他接口的时候,是可以多继承的。
接口的特点:
- 接口的成员列表中只能包含抽象方法,及常量(public static final),而且常量必须在接口中定义的时候就初始化
- 接口的所有成员默认都是public包括接口本身,不允许用其他修饰符。
- 接口没有构造方法。
- 可以引用子类的对象。
- 接口可以继承接口。
- 一个类可以实现多个接口
接口的定义 :
因此接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道,这就意味着接口里通常是定义一组公用的未实现的方法。