Java中final修饰变量


final 修饰一个变量,有很多种说法,比如不能改变等等 
准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会

 


  • 在声明的时候赋值

i在第4行已经被赋值过了,所以这里会出现编译错误

 1 public class HelloWorld {
 2 
 3     public void method1() {
 4         final int i = 5;
 5         
 6         i = 10; //i在第4行已经被赋值过了,所以这里会出现编译错误
 7         
 8     }
 9 
10 }
  • 在声明的时候没有赋值

如果在声明的时候未赋值,那么可以在后面代码进行唯一的一次赋值

  • final 修饰其他

final 除了修饰变量,还可以修饰类(不能够被继承),修饰方法(不能够被重写)


 

练习

如果final修饰的是参数,能否在方法里给这个参数赋值?

1 public class HelloWorld {
2 
3     public void method1(final int j) {
4         j = 5; //这个能否执行?
5     }
6 }

答:无法执行,这个变量已经被final修饰了,一旦方法传入了某个参数,就相当于是赋值了,不能再进行以后的赋值


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM