相同点:
1.不能实例化,具有抽象性,都是支持抽象类定义的两种机制
2.其 实现类或者子类都必须要实现接口或abstract类已经声明的抽象方法,抽象方法无方法体,如果抽象类的子类没有实现父类的抽象方法,则子类也是抽象类
不同点:
1.接口的关键字是implements,abstract类需要被继承,继承的关键字是extends
2.接口中的方法默认全是抽象方法(没有方法体),abstract类中可以有非抽象方法(必须定义方法体),抽象方法用abstract修饰
3.接口中只能有常量(自动被public static final修饰)和抽象方法(自动被public abstract修饰)
4.一个类只能继承一个abstract类,但能实现多个接口
5.接口可以extends接口
抽象类可以implements接口
抽象类可以extends实体类(实体类必须有明确的构造函数)