1、接口
接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。
可以声明接口变量,但是接口变量必须引用实现了接口的类对象。
Comparable x;
x = new User();
/*****/
Class User implements Comparable<User>{}
接口与接口之间是继承关系,不可以多继承,可以多实现
接口中的方法被自动设置为 public , 接口中的域被自动设置为 public static final
抽象类与接口是实现关系,可以只实现部分函数
普通类继承抽象类,实现接口,避免了多重继承的繁琐
2、抽象类
对具体类的高层抽象,具有一个或多个抽象方法,可有实例域和方法域
抽象类不能实例化
关系:
可以将接口看作没有实例域的抽象类
1.8以后接口与抽象类中的方法都可以写简单实现,子类可以重写,也可以继承不重写