1、接口
位于抽象层次的最顶层,代表具有某种特性的类型;
类似于一种协议,属性和方法都是公开的,接口中生命的属性默认final static 和 方法 public abstract
面向接口编程,实现多个接口,实现混合类;
一种特殊的抽象类;
接口中不允许有变量:如果存在变量,public static 类型,通过接口即可改变该变量值,所有实现该接口的对象的该属性值都变化;
2、抽象类:
位于类和接口的中间层次,可以实现接口,实现共有的方法;
可以包含抽象的方法,也可没有,不可以实例化;
抽象类只能被继承,但是单继承导致类无法再继承其他类;
3、接口和抽象类混合使用:
抽象类实现接口,我们的具体实现类既可以继承自接口有可以实现接口;