2.2.1 final可以修饰类,用final修饰的类不可再被继承
- String类就是final类,不能再被继承
- String类是用关键字final(public final class),不能再被继承
- Matn是final类,不能被继承
Integer、Long、Character等包装类是final类,不能被final类继承
2.2.2 final可修饰的资源
final可以修饰局部变量
- final可以修饰方法参数
-
2.2.3 final static
java使用final static修饰的变量将作为常量
- 名称大写,单词隔下划线
2.2.4 注意:
被final修饰的变量和类方法不能被覆盖(重写)。2.3.1 final的成员变量:
final的成员变量是不可变的,一方面如果成员变量是基本数据类型的变量,该成员变量的值将不能改变;另一方面,如果成员变量是对象引用变量。其指向的对象是不能发生变化的。对于对象引用变量,虽然其指向的对象不能发生改变,但是指向对象本身的一些属性还是可以发生改变的。
例如定义数据变量为final的,由于数组也是对象。因此数组的元素可以发生改变。2.3.2 final的局部变量:
final的局部变量跟final的成员变量类似,表示的也是“不可变”的观点,成员变量的不同之处在于final的局部变量只能在代码块中初始化一次。