final
1)final修饰的变量会固定一个值,从而成为了常量;
举个栗子:平常见到不被final修饰的变量是这样子的,int a = 100; a = 200; // 最后打印输出a为200,也就是说不被final修饰的变量值是可以更改的;
然而被final修饰的变量是这样式儿的:final int N = 100; N = 200; // 这里会编译出错,原因就是被final修饰的变量已经成为了一个固定值常量,为一个固定值常量赋值显然是不能编译通过的;
变量也分基本类型的变量和对象类型的变量;很显然,基本类型的变量中存储的就是数值,那么被final修饰后,就是数值不会再发生变化;那么对象类型中存储的是数据在内存中的首地址,‘一旦赋值,不能改变’就指得是这个对象不能再指向其他的首地址了;(注意:仅仅限制了对象指向的内存块首地址,但是地址中的属性、数据依然是灵活使用的)
2)final修饰属性
原文:https://www.cnblogs.com/LearnSB/p/13209054.html