Java中final关键字如何正确使用及其注意事项有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1608个文字,预计阅读时间需要7分钟。
前言:在Java中,可以将实例域定义为final。在构建对象时,必须初始化这样的值。必须确保在每个构造器执行后,这个域的值被设置,并且在后续的操作中不再对其进行修改。使用final声明的变量可以明确表示它们是最终的,即不可更改的。
前言
在java中可以将实例域定义为final。在构建对象是必须初始化这样的值。必须确保在每个构造器执行之后,这个域的值被设置,并且在后面的操作中不再对其修改。使用final声明变量之后,这个值就不能修改,一般final类型的变量都被声明为静态变量,而且是公有类型的,它在内存中被放在一个特有的公共区域。
也就是说,在Java语法中规定,final修饰的成员变量必须有程序员显式地指定初始值。
定义格式为: public static final double pi = 3.1415926;
final修饰符大多应用于基本类型域,或不可变类的域(如果类中的每个方法都不会改变其对象,这种类成为不可变类。比如说Java中的String类就是一个不可变类。)
如果定义了两个相同的变量,都是final类型的,这两个相同的变量名有着不同的值,其实在内存中是开辟了两个内存空间,之前定义的变量的值会被后来定义的变量的值覆盖掉。原理是变量名指向后来定义的变量值的内存空间,之前定义的变量值会被Java虚拟机根据某种特定的算法在特定的时间处理掉。
本文共计1608个文字,预计阅读时间需要7分钟。
前言:在Java中,可以将实例域定义为final。在构建对象时,必须初始化这样的值。必须确保在每个构造器执行后,这个域的值被设置,并且在后续的操作中不再对其进行修改。使用final声明的变量可以明确表示它们是最终的,即不可更改的。
前言
在java中可以将实例域定义为final。在构建对象是必须初始化这样的值。必须确保在每个构造器执行之后,这个域的值被设置,并且在后面的操作中不再对其修改。使用final声明变量之后,这个值就不能修改,一般final类型的变量都被声明为静态变量,而且是公有类型的,它在内存中被放在一个特有的公共区域。
也就是说,在Java语法中规定,final修饰的成员变量必须有程序员显式地指定初始值。
定义格式为: public static final double pi = 3.1415926;
final修饰符大多应用于基本类型域,或不可变类的域(如果类中的每个方法都不会改变其对象,这种类成为不可变类。比如说Java中的String类就是一个不可变类。)
如果定义了两个相同的变量,都是final类型的,这两个相同的变量名有着不同的值,其实在内存中是开辟了两个内存空间,之前定义的变量的值会被后来定义的变量的值覆盖掉。原理是变量名指向后来定义的变量值的内存空间,之前定义的变量值会被Java虚拟机根据某种特定的算法在特定的时间处理掉。

