不可变性final
概述
本文系统的介绍下final的不可变性,我们从final修饰的属性、类和方法三个方面进行讲解,如下所示:
1.final修饰的属性是不能修改的(引用对象不能修改,但其属性是可以修改的)
2.final修饰的方法是不能被重载
3.final修饰的类是不能被继承的。
final修饰属性
详细介绍final修饰的属性的初始化注意事项。可以通过以下三个途径初始化
1.属性定义时进行初始化:private final int a=1;
2.构造中对其属性初始化
3.代码块中对其初始化
通过下面代码演示。
从上可知,非static修饰final属性有3中赋值方法,static修饰的final属性只有两种赋值方法。
final修饰方法
final修饰的方法语义为:不能被子类重写。
方法实体中使用final
用之前必须赋值。
final修饰类
final修饰的类不能被继承