interface A1这是接口 class a extends A1这是抽象类。
具体区别:网页链接
抽象类(abstract class)
定义:包含抽象方法的的类是abstract class
用abstract关键字修饰
作用:abstractclass是为了把相同的东西提取出来,即重用
使用abstractclass语法规定
定义:比abstract class更加抽象,是一种特殊的abstract class
用Interface关键字修饰
作用:Interface是为了把程序模块进行固化的契约,是为了降低偶合
使用Interface的语法规定
语法
备注
抽象类定义用abstract关键字修饰 要通过子类进行实例化
抽象类是不能被实例化的 要通过子类进行实例化
子类必须重写父类的所有抽象方法 抽象方法:声明但却未被实现的方法,用abstract关键字修饰
含有抽象方法的类一定是抽象类,但是抽象类不一定含有抽象方法 无
抽象类是用来被它的子类继承的 关键字extends
抽象类是在功能上的一个规定 无
Interface
语法
备注
接口定义用Interface关键字修饰
接口中的所有方法都是抽象的 可以用abstract修饰,也可以省略
接口中的方法必须是用public修饰,或不写 但是不能被其他修饰符修饰
接口中的属性必须是全局常量 publicstaticfinal修饰
抽象类是用来被它的子类实现的 关键字Implements
抽象类是在结构上的一个规定 无
接口不能被实例化 无
子类实现接口时需要实现接口中的所有方法 若有一个未不实现,该子类就是抽象类abstractclass