首先是定义:
抽象类:
抽象类不能创建类对象。
表示一种继承关系。
一个类只能继承一个父类。
可以有自己的变量,也可以由非abstract方法。
变量默认为default,变量值可以再子类中重新定义,重新赋值。
接口:
接口的access为public或default。
接口不是类,不能创建接口对象。
表示一种契约关系。
一个类可以实现多个接口。
只允许定义常量,所有方法都是public abstract类型并且可以省略。
接口定义的变量默认是public static final类型,可以省略但是必须给定初值,实现类中不能重新定义,也不能改变其值。