抽象类是类,可以包含成员变量和方法,包含抽象方法的类一定是抽象类,但抽象类不一定有抽象方法。
接口不是类,在不同事物(类)中抽象出共同功能点(方法),形成一组公开的功能规则(接口)来制约某些事物(类)的功能实现。
两者的区别:
一个类可以实现多个接口,但是只能继承一个父类。
实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。实现接口的一定要实现接口里定义的所有方法。
抽象类中可以有普通成员变量,接口中没有普通成员变量,接口中定义的变量只能是public static final类型。
抽象类可以有构造方法,接口中不能有构造方法。
|
|