抽象类:
不能实例化对象;但可以创建子类对象引用;
只能extends继承一个抽象类;
主要用来抽象类别;
可以有具体的方法和属性;
可以有构造方法;
可以有普通成员变量;
可以使用除private外任意访问修饰符;
接口:
不能实例化对象;
一个类能实现多个接口,并且接口之间直接允许多重extends继承;
主要用来抽象功能;
只能有抽象方法和常量;
不允许有普通方法和构造方法;
从JDK1.8开始,接口中允许使用default定义默认方法,默认方法带有方法体;接口中的默认方法使用实现类对象实例调用;使用static定义静态方法,接口中的静态方法使用接口名直接调用;
只能使用public访问修饰符;