1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public
2.抽象类不能用来创建对象;
3.如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
4.抽象方法:只有声明,没有实现的方法。具有一个或多个抽象方法的类就成为一个抽象类。抽象父类可用于设计一个能够为一组相关类的公共功能提供一致的框架。
5.抽象类的每个实子类都必须实现该抽象类的所有抽象方法,这保证了类中的可变部分在有相同的方法签名。由抽象父类实现的方法集将自动被所有子类继承,从而避免了冗余实现。
6. 一个类只能继承自一个父类。
7.运用抽象父类模式需遵循的原则--里氏代换原则
--所有引用基类的地方必须能透明地使用其子类的对象。子类可以扩展父类的功能,但不能改变父类原有的功能。
--类B继承类A时,除添加新的方法完成新增功能P2外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。
--继承包含这样一层含义:父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。