Java知识系统回顾整理01基础03变量07final关键字

一、final赋值

final 修饰一个变量,有很多种说法,比如不能改变等等 

准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会

   

二、在声明的时候赋值

i已经被赋值为5,所以这里再次赋值会出现编译错误

public class HelloWorld {

    public void method1() {

        final int i = 5;        

        i = 10; //i已经被赋值5,所以这里再次赋值会出现编译错误      

    }

}

   

三、在声明的时候没有赋值

如果变量在声明的时候被final修饰且未赋值,那么可以在后面代码中对变量进行唯一的一次赋值。

public class HelloWorld {

    public void method1() {

        final int i;      

        i = 10; //i在第3行,只是被声明,但是没有被赋值,所以在这里可以进行第一次赋值    

        i = 11; //i在第4行已经被赋值为10,所以这里再次赋值会出现编译错误      

    }

}

   

四、final修饰其他

final 除了修饰变量,还可以修饰类修饰方法

   

五、练习及答案

题目:

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

public class HelloWorld {

    public void method1(final int j) {

        j = 5; //这个能否执行?

    }

}

   

官方答案:

不能,因为在调用方法的时候,就一定会第一次赋值了,后面不能再进行多次赋值

   

个人整理答案:

   

原文地址:https://www.cnblogs.com/xlfcjx/p/10767772.html