我们在学习继承的时候,会涉及到封装性的问题。而Final就打破了封装性,解决了继承的弊端!
Final关键字(也就是最终的,不可变的意思)。
一、我们来看看Final的特点:
1.Final是一个修饰符,可以修饰类,方法,变量。
2.Final修饰的类不可以被继承。
(为什么说被Final修饰的类不可被继承?这是Java语言中final这个关键字用到类上的定义,就是规定的意思,记住就好了。)
3.Final修饰的方法不可以被覆盖。
(为什么说Final修饰的方法不可以非覆盖?我们先说到了一个特性:不可变、最终的,所以一旦覆盖了那我们的final还有什么意义,所以是不可以被覆盖。)
Final修饰的变量是一个常量,只能赋值一次。
(这里也是同样的概念,它是唯一不可变的)
Final固定的是显示初始化值,默认初始化值是无效数据。
二、为什么要用final修饰变量?
例如:在程序中,如果一个数据是固定的,直接使用这个数据就可以了,但是这样阅读性差。所以给该数据起个名称。而且这个变量名称的值不能变化,所以加上final固定。
三、这里有个注意点:
用Final修饰的常量值:命名要用大写,单词之间用下划线连接。
例:MY_PI
用Final修饰的变量值:命名要首个单词小写,之后的单词首字母大写。
例:getMax