抽象类
定义:不允许被实例化(new失效)。可以作为子类的引用类型,子类可以实例化。
语法:abstract class 子类名 extends 父类名 { }
意义:只能被继承。必须要被extends过才有意义。
抽象方法
意义:一定要被覆盖过。无法给出所有子类方法共用的方法代码,但是可以定义出一组子型共有的协议。
语法:没有方法体。示例:public abstract void eat();
TIPS:如果一个类中有抽象方法,那么类一定设置为抽象类。但抽象类中可以带有非抽象的方法。
好处:可以标记出多态。
other tips:
1. object这个类不是正式的抽象类,因为其所有的方法都是可以实现的代码,而不必被覆盖。是具体类。
2. object中除开被final的方法,其他可以被覆盖。