什么是final
1.final是java语言中的一个关键字
2.final表示最终的,不可变的
3.final可以修饰变量,方法,类
- 被final修饰的类不可被继承
- 被fianl修饰的方法无法被覆盖,被重写
- 被fianl修饰的局部变量,一旦被赋值了,则再不能赋值。
4.如果变量是一个"引用"被fianl修饰了,那么会如何呢?
那么这个引用中保存的变量则再也不能更改,如果再次新创建一个对象并将内存地址赋给该引用,编译器会报错。
5.如果实例变量被final修饰了,那么会如何?
被fianl修饰的实例变量,会在被初始化的时候要求手动赋值,不允许赋默认值
PS:.如果类中某个变量,在类的多次实例化产生了许多的对象,而这些对象中的这个变量的值都是一样的,那么我们可以对其进行添加静态修饰修饰符,来节省内存空间。但是此时该静态变量还是可以访问进行赋值的,所以如果我们在加上一个fianl的话,会使得这个静态变量成为了常量。