首页 > 代码库 > final关键字

final关键字

final关键字的作用主要有三个:

1.被final修饰的类不能被继承

2.被final修饰的方法不能被重写

3.被final修饰的变量不能被改变。

其中被final修饰的变量不能变指的是变量的引用地址不能变,引用指向的内容是可变的

比如被final修饰数组和对象,可以修改引用指向的内容,但是如果修改变量的引用,就会编译报错。比如下面的代码第6行就会报错Cannot assign a value to final variable "testString"。

 1 public class Test1 {
 2     public static void main(String[] args) {
 3         final TestString testString = new TestString("string1");
 4         testString.setStr("string2");
 5         System.out.println(testString.getStr());
 6 //        testString = new TestString("string2");
 7     }
 8 }
 9 
10 class TestString{
11     private String str;
12 
13     public TestString(String str){
14         this.str = str;
15     }
16 
17     public String getStr() {
18         return str;
19     }
20 
21     public void setStr(String str) {
22         this.str = str;
23     }
24 }

final关键字