1.抽象类的概念
简单概括,内部包含了抽象方法的类。
2.抽象类的特征
声明抽象类时使用abstract关键字修饰。
抽象类内的抽象方法也需要abstract关键字修饰,并且抽象方法只需声明,无需实现。
抽象类无法实例化,也就是不能通过new的方式产生对象。
如果一个类中有抽象方法,这个类必须是抽象类(必须被abstract修饰)。
抽象类的子类必须重写父类所有抽象方法后才能被实例化,不然这个子类必须是抽象类。
抽象类中可以有实现的方法以及成员变量,可以没有抽象方法,已实现的方法和成员变量可以通过子类对象使用。
如果要使用抽象类的对象,可以使用子类的对象来向上转型。
抽象类可以继承普通类。也可以继承抽象类,当抽象类继承抽象类时可以不重写抽象方法。
抽象类中如果声明了构造方法,子类必须调用。
外部抽象类无法使用static声明,但内部抽象类可以,内部抽象类使用static声明之后,可以表示该类是一个外部类。
3.抽象类的应用——模板设计模式
使用抽象类,我们可以在抽象类内定义一套抽象方法组合,形成一个模板,不同的需求不同的实现,这样,在开发过程中,如果需要此模板,只需继承这个抽象类即可。