【抽象方法】
一个方法,只有方法的声明,没有具体的方法体,用abstract来修饰,这个方法就是抽象方法。
【抽象类】
一个类中有抽象方法,或者没有抽象方法,用abstract来修饰类,这个类就是抽象类。
【抽象类的特点】
A:抽象类,可以没有抽象方法;
B:一旦类中有抽象方法,该类必须是抽象类;
C:抽象类,不可以实例化,但我们可以通过子类继承这个抽象类,并且重写抽象方法。
D:抽象类可以存在成员变量,和普通的类中的成员变量一样;
E:抽象类中也可以存在非抽象的方法;
F:抽象类中,也有构造方法,而且这个默认的构造方法里的第一行代码是super()。虽然抽象类不能创建对象,提供
了构造方法的作用就是:给抽象类中的成员变量赋值。
【子类继承后的注意事项】
A: 子类继承抽象类后,如果没有覆盖抽象类中的所有抽象方法,那么该类也是抽象类;
B:如果抽象类中,没有抽象方法,那么子类继承后,可以不重写。
【抽象类中,abstract不能组合使用的关键字】
A:final,final为最终,不让子类重写,但是abstract又让子类重写,所以存在冲突;
B:private,private修饰的方法,子类无法访问,而abstract让子类重写,所以也不行;
C:static,static修饰方法,该方法可以用类名直接调用,而abstract又没有方法体,所以也不行。
【抽象类存在意义】
强制子类去重写抽象方法。是整个继承体系的顶层,其里面的功能,子类都有。进而,保证了继承体系的完整性。
|
|