概述

  • 抽象方法:将共性的行为(方法)抽取到父类之后,发现该方法的实现逻辑无法在父类中给出具体明确,该方法就可以定位抽象方法。
  • 抽象类:如果一个中存在抽象方法,那么该类就必须声明为抽象类

抽象方法的定义格式:
public abstract 返回值类型 方法名(参数列表);
抽象类的定义格式:
public abstract class 类名{}

抽象类注意事项

  • 抽象类不能实例化
  • 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类
  • 抽象类可以有构造方法
  • 抽象类的子类

    • 要么重写抽象类中的所有抽象方法
    • 要么是抽象类

      模板设计模式

  • 设计模式(Design pattern)是一套被反复使用、多数人知晓的,经过分类编目的、代码设计经验的总结。

    • 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性
  • 模板设计模式:把抽象类整体就可以看做成一个模版,模板中不能决定的东西定义成抽象方法
    让使用模版的类(继承抽象类的类)去重写抽象方法实现需求
  • 小结:模板设计模式的优势,模板已经定义了通用的结构,使用者只需要关系自己需要实现的功能即可。

    final关键字

    final关键字是最终的意思,可以修饰(方法,变量,类)
    final修饰的特点

  • 修饰方法:表明该方法是最终方法,不能被重写

  • 修饰变量:表明该变量是常量,不能再次被赋值
  • 修饰类:表明该类是最终类,不能被继承

变量是基本类型:final修饰指的是基本类型的数据值不能发生改变
变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的
常量的命名规范:如果是一个单词,所有字母大写,如果是多个单词,所有字母大写,但是中间需要使用‘_’分隔
final修饰的成员变量,必须在构造方法执行完被初始化。