抽象类:java
(1)用abstract关键字修饰,没法实例化继承
(2)可含有具体的方法实现接口
(3)抽象方法用(protected,public)(若是private 没法被子类继承)变量
(4)继承抽象类的子类,不实现父类的抽象方法,也必须定义为抽象类方法
接口:数据
(1)全部方法必须为抽象方法static
(2)能够含有变量(接口变量被隐式指定为public static final)实例化
区别:interface
(1)java类能够一次继承关系,多个interface实现ab
(2)abstract中能够含有数据成员,非abstract的方法。而interface,变量(public static final),方法(public abstract)
(3)interface的变量必须给初值
(4)abstract可含有static方法,interface不能有这个
(5)abstract和interface在继承过程,不实现abstract方法是,子类与父类性质不变