1. final关键字介绍
final关键字的意思:
是不能改变的意思,用来修饰类、方法、变量。
用法:
Java提供了Final关键字主要用来修饰一些不可改变的内容。
2. final的作用
final根据修饰位置的不同作用也不相同,针对三种情况:
1)修饰变量,被final修饰的变量必须要初始化,赋初值后不能再重新赋值。
注意:局部变量不在我们讨论的范畴,因为局部变量本身就有作用范围,不使用private、public等词修饰。
2)修饰方法,被final修饰的方法代表不能重写。
3)修饰类,被final修饰的类,不能够被继承。
注意:final修饰的类,类中的所有成员方法都被隐式地指定为final方法。
2.1 final修饰变量
被final修饰的变量必须显示的初始化,初始化可以以三种方式:1)定义时初始化,2)在构造器中设置值,3)在非静态块中为final实例变量设置值。
final修饰变量指的是:这个变量被初始化后便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可变,即不能再指向其他的对象。
public class Test01{
final int x1= 10000;
final int x2;
final int x3;
{
x2 = 20000;
}
Public exe3(){
this.x3 = 3000;
}
}
如果final修饰的变量是对象类型,那么不可更改指的是该变量不可以再指向别的对象,但是对象的值时可以更改的,比如:
final Operate operate = new Operate() ;// operate有一个普通变量i初始化为10
operate.i = 11;
operate.i = 12;
System.out.println(operate.i); //输出12
上述是自定义类,即便是数组,List等集合类型,所保存的值也是可以更改的。