普通类和抽象类

    • 普通类不能包含抽象方法,抽象类可以包含抽象方法(也可以没有抽象方法)。
    • 普通类可以直接实例化,抽象类不能直接实例化。
    • 抽象类不能使用final修饰,否则无法被继承。

    抽象类和接口的区别

    • 实现:抽象类的子类使用extends来继承;接口必须使用implements来实现接口。
    • 构造函数:抽象类可以有构造函数,接口不能有。
    • 实现数量:类可以实现很多个接口,但是只能继承一个抽象类。
    • 访问修饰符:接口中的方法默认public修饰,抽象类中的方法可以任意修饰符。