抽象类
抽象类中的方法既可以有抽象方法,也可以有非抽象方法,可以全部都是抽象方法,也可以全部都是非抽象方法
抽象方法只能出现在抽象类或接口中,不能出现在非抽象类中
抽象类和接口不能new对象
抽象类可以继承抽象类,也可以继承非抽象类
抽象类的直接子类如果是非抽象类,则它必须override(重写/覆盖)抽象类中的所有抽象方法,否则只能将该非抽象类转换为抽象类
抽象类可以实现接口,接口中的抽象方法,抽象类可以override全部,也可以override部分,未override的部分,交由抽象类的子类override
抽象方法只有方法声明,没有方法体
接口
接口是一种特殊的抽象类,接口中的方法全部为抽象方法,即“完全抽象”
接口与实现类之间也是多态
接口中的所有属性都是public static final的,接口中的所有方法都是public abstract的