(八股)final的作用
修饰类:表示类不可以被继承
修饰方法:表示方法不可以被子类覆盖,但是可以重载
修饰变量:表示变量一旦赋值就不能再更改
(1) 修饰成员变量:
如果final修饰的是类变量,只能在静态代码块中指定初始值或者声明该类变量时指定初始值
如果final修饰的是成员变量,可以再非静态初始化块、声明该变量和构造器中执行初始化。
(2) 修饰局部变量:
系统不会为局部变量进行初始化,局部变量必须由程序员显示初始化。
因此使用final 修饰局部变量时,可以在定义时指定默认值(后面的代码不能对变量再赋 值),也可以不知道默认值,在后面的代码中对 final 变量赋初值(仅一次)。
(3) 修饰基本类型数据和引用类型数据:
如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改。
如果是引用类型的变量,则在对其进行初始化操作后便不能再让其指向另一个对象。 但是引用的值是可变的。