首先一定要明确final可以修饰 局部变量,成员变量, 方法,类。
final修饰局部变量时,对于基本类型而言,该局部变量一经赋值,便不可以被再改变。
对于引用类型而言,引用地址不可改变,但其内容可以改变。
final修饰成员变量时,需要注意必须初始化赋值。因为final修饰后的成员变量,系统不会给他默认赋值。也就是说 final string str;系统不会给他默认值为null。 并且编译器会报错。这个时候给str赋值有两种方法,一种是直接赋值,一种是在构造代码块里面进行赋值。
不初始化,一定报错。
初始化的两种方法:
1.在构造器中对final修饰的成员变量初始化: