1.如果一个类之中只是由抽象方法和全局常量所组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所以所谓的接口严格来讲就属于一个特殊的类,而且这个类里面只有抽象方法与全局常量。
· 接口必须要有子类,但是此时一个子类可以使用implements关键字实现多个接口;
· 接口的子类(如果不是抽象类),必须要覆写接口中的全部抽象方法;
· 接口的对象可以利用子类对象的向上转型进行实例化操作。
2.要定义一个接口使用interface关键字完成。
3.抽象类 针对的是类
接口 针对的是行为也是方法
抽象类的关键字 abstract
抽象类可以没有抽象方法 有抽象方法的类是抽象类
如果一个类继承抽象类那么这个类实现抽象方法
如果这类没有实现抽象方法 那么这个类也是抽象类
抽象类没有实例化
4.如果子类没有实现父类的抽象方法,那么子类也是抽象的类前加abstract
接口可以继承多个接口 一个类也可以实现多个接口
接口不能实例化 使用关键字interface
接口是规范和标准 是一种约束
接口的访问修饰符public
接口里面 都是常量 和为实现的方法
5
(1)抽象类与实现类之间是一种继承关系,也就是说如果采用抽象类的方式,则父类与子类在概念上应该是相同的。
(2)接口和实现类在概念上不要求相同,接口只是抽取相互之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为。
(3)抽象类是对一组具有相同属性和行为的逻辑上有关系的事物的一种抽象,而接口是对一组具有相同属性和行为的逻辑上不相关的事物的一种抽象。
(4)对于接口和抽象类的选择,反映出设计人员看待问题的不同角度。抽象类用于一组相关的事物,表示的是"is-a"(继承)的关系,而接口用于一组不相关的事物,表示的是"like-a"(具备)的关系。