抽象类与接口对比
抽象类与接口对比
参数 | 抽象类 | 接口 |
---|---|---|
默认的方法实现 | 可以有自己的 | 抽象函数,不存在实现 |
实现 | extends | implements |
构造器 | 可以有 | 不能有 |
与正常java类 | 除了不可实例化,其他一样 | 完全不同 |
权限 | private public protected | 只能为public |
多继承 | 子类一次只能继承一个抽象类 | 可以继承多个接口 |
速度 | 比接口快 | 接口要花时间找在类中实现的方法 |
添加新方法 | 不影响子类 | 子类必须要实现 |
如果是基本功能一直在改,直接用抽象类
如果是接口不变,或者多继承,使用抽象。