您的位置:首页 > 编程语言 > Java开发

Java中用final修饰的变量

2015-07-22 20:23 239 查看
在Java中,用final修饰的变量只能赋值一次,之后不能再被重新赋值,而且被修饰的变量变成了常量。

public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 1 + 2;
int d = a + b;
}
}


对上面的代码编译之后的class文件进行反编译,结果如下:



编译器会对常量的运算进行优化,因此c=1+2在编译过后直接变成c=3,而d=a+b由于是两个变量相加,因此不会被优化。

将上述代码进行修改:

public class Test {
public static void main(String[] args) {
final int a = 1;
final int b = 2;
int c = 1 + 2;
int d = a + b;
}
}


反编译之后结果为:



d=a+b被优化为了d=3,编译器认为被final修饰的变量a b是两个常量,因为它们不能被修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: