abstract修饰抽象类
- 此类称为抽象类
- 抽象类不能实例化
- 抽象类是包含构造器的,因为子类对象实例化时,需要直接或间接的调用到父类的构造器。
- 抽象类中可以没有抽象方法,反之,抽象方法所在的类,一定是抽象类。
abstract修饰方法
- 此方法即为抽象方法
- 抽象方法只有声明,没有方法体,
例如public abstract void eat();
- 抽象方法其功能是确定的(通过方法的声明即可确定),只是不知道如何具体实现。
- 子类必须重写父类中的所有抽象方法之后,方可实例化,否则,子类也只能定义为抽象类。
abstract不能修饰的结构
属性、构造器、代码块等
abstract不能与那些关键字共用?
不能修饰私有方法、静态方法、final的方法、final的类
私有方法不能重写
避免静态方法使用类进行调用
final的方法不能被重写
final修饰的类不能有子类