一、抽象类
- 抽象类不是必须具有抽象方法,但是抽象方法一定是抽象类。方法和类都需要加上abstract修饰符。
- 如果一个方法为抽象方法,则子类必须重写方法,如果子类不重写父类抽象方法,则子类需要声明为抽象类。
- 抽象类可以有非抽象方法,抽象方法需要实现。
- 调用抽象类的抽象方法或者非抽象方法,如果方法用static修饰,直接类名.方法即可调用。如果方法不是static修饰,则需要子类继承后,用子类实例调用。
- 抽象类可以实现接口,接口中的方法在抽象类中可以不被重写实现,当有子类继承抽象类时,且子类不是抽象类,则子类需要将抽象类中的抽象方法和接口中的方法都重写实现。