abstract 修饰符需要遵守的语法规则:
a. 抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类。 如果子类没有实现父类中所有的抽象方法,那么子类也必须被定义为抽象类,否则编译出错
b. 没有抽象构造方法,也没有抽象静态方法。
c. 抽象类中可以有非抽象的构造方法,创建子类的实例时可能会调用这些构造方法
d. 抽象类及抽象方法不能被final 修饰符修饰。 abstract 修饰符与final修饰符不能连用。因为抽象类只有允许创建其子类,它的抽象方法才能被实现,
并且只有它的具体子类才能被实例化,而用final修饰的类 不允许拥有子类,用final修饰的方法不允许被子类方法覆盖,因此把 abstract 修饰符与final修饰符连用,会自相矛盾。