final关键词在java中可以修饰类、方法和变量等。
1.final修饰变量的时候——表示这个变量的值不可变,只能在初始化的时候对它进行赋值(如果是类的成员变量也可以在构造函数中对它进行赋值)赋值以后变量的值不能改变。
2.final修饰对象的引用——这个时候引用名的引用对象是不能够改变的,但是对象中的内容是可以改变的。举个例子:
在上面的例子中,如果执行student1 = new Student() 或者其他对象引用操作编译器是会报错的,但是如果执行最后一条语句将student1所指向的内容改变是可以的。
3.final修饰方法——表示方法不能被重写,当子类继承父类时,父类中用final修饰的方法在子类中不能被重写。
4.final修饰类——表示这个类在整个继承关系的最底层,或者该类不存在继承关系。这个类不能够再有子类继承它。