目录
final的作用
final是一个Java关键字,它的意思是最终的意思,可以用来修饰类、方法、变量。
修饰类时:表明该类是最终类,不能在被继承了。
修饰方法时:表明该方法为最终方法,不能被重写。
修饰变量时:表示这个变量有且只能被赋值一次。
final使用的注意:
如果final修饰的是基本变量,那么存储的数据不能发生改变。
如果final修饰的是引用类型变量,那么存储的地址不能发生改变,但是地址指向的数据是可以改变的。
常量
常量是使用了public static final修饰的成员变量,必须有初始化的值,并且在运行过程中不允许被改变,经常用于一些系统的配置数据,或者大量使用的变量。
常量命名规范:英文单词全部大写,多个单词使用下划线"_"连接起来。
public class Constant{
public static final NAME="小明";
public static final AGE=18;
public static final CLASS_NAME="3班";
}
常量的优势
在代码的编译阶段时,会进行”宏替换“,把使用常量的地方替换为真正的字面量。
在需要修改某一大量使用的变量时,修改方便,可读性高,优雅。
枚举
枚举时Java中的一种特殊类型,用于做信息的标志和信息的分类。
定义枚举类:
public enum Season{
SPRING,SUMMER,AUTUMN,WINTER;
}
枚举的特征
枚举类都是最终类,不可被继承。
枚举类的构造器都是私有的。
枚举类的第一行默认都是罗列枚举对象的名称。
枚举类相当于时多例模式。
枚举与常量做信息分类时的区别
常量做信息分类时,虽然可读性好,但是入参值不受约束,代码结构不够严谨。
枚举做信息分类时,入参约束好,代码更加优雅。