final
final
final是指本身不可变,最终的意思
final修饰类,表示类不可扩展,不可继承。
final修饰方法时,表示方法不可变,不可重写。
final修饰变量时,表示这个变量就是常量。
注意
当final修饰基本数据类型时,这个值本身不能修改。
当final秀是引用数据类型时,这个引用类型的指向不能修改。
--------举例说明-------
final Student student = new Student("zhangsan",18);
student.setName("wangwu"); //这样是可以的
student = new Student("wangwu",18); //这样子是不可以
因为这样子我们是在栈中有一个引用student,指向了堆里面的一块内存,内存里面有数据zhangsan、18。
之后setName方法只是改变了堆内存里面的数据zhangsan,并没有改变地址值,所以是可以的。
下面的代码是改变了引用的指向,也就是改变了地址值,所以是不可以的。