相同点:
两者都有抽象方法,都不能实例化,都有自己的声明,并能引用具体子类或实现类对象
区别:
1、属性:抽象类可以有域变量,而接口不能有,只能是静态常量
2、成员方法:抽象类可以有具体方法,而且具体方法可以调用抽象方法,接口如果有方法,则全部为抽象方法
3、实现策略:抽象类必须有子类继承,接口必须要有实现类实现
4、扩展性:抽象类扩展性没有接口强
4、使用:抽象类用关键字abstract定义,通过extends继承;接口用interface定义,通过implements实现。
两者都有抽象方法,都不能实例化,都有自己的声明,并能引用具体子类或实现类对象
1、属性:抽象类可以有域变量,而接口不能有,只能是静态常量
2、成员方法:抽象类可以有具体方法,而且具体方法可以调用抽象方法,接口如果有方法,则全部为抽象方法
3、实现策略:抽象类必须有子类继承,接口必须要有实现类实现
4、扩展性:抽象类扩展性没有接口强
4、使用:抽象类用关键字abstract定义,通过extends继承;接口用interface定义,通过implements实现。