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,并没有改变地址值,所以是可以的。

​ 下面的代码是改变了引用的指向,也就是改变了地址值,所以是不可以的。

posted @ 2020-10-06 09:54  star-xin  阅读(169)  评论(0编辑  收藏  举报