final

final 的作品:

  • final关键字是最终的意思,可以修饰(类,变量,方法)
  • 修饰类:表明该类是最终类,不能被继承
  • 修饰方法:表明该方法是最终方法,不能被重写
  • 修饰变量:表示该变量第一次赋值后,不能再次被赋值(有且仅能被赋值一次)

final修饰变量的注意事项:

  • 如果修饰的是基本数据类型:那么变量存储的数据值不能发生改变
  • 如果修饰的是引用数据类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容可以发生变化

常量

  • 常量是使用了public static final修饰的成员变量,必须有初始化值,而且执行的过程中其值不能被改变
  • 常量的作用和好处:可以用于做系统的配置信息,方便程序额维护,同时也提高可读性

常量的执行原理

  • 在编译阶段会进行“宏替换”,把使用常量的地方全部替换成真是的字面量
  • 这样做的好处是让使用常量的程序的执行性能与直接使用字面量是一样的

枚举

枚举的概述

  • 枚举是java中的一种特殊类型
  • 枚举的作用:是为了做信息的标志和信息的分类

定义枚举的格式:

枚举的特征:

  • 枚举类都是继承了枚举类型:java.lang.Enum
  • 枚举都是最终类,不可以被继承
  • 构造器都是私有的,枚举对外不能创建对象
  • 枚举类的第一行默认都是罗列枚举对象名称的
  • 枚举类相当于多例模式