java final

在声明的时候赋值

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

1

2

3

4

5

6

7

8

9

10

public class HelloWorld {

    public void method1() {

        final int i = 5;//只能被赋值一次,

         

        i = 10; //i在已经被赋值过了,所以这里会出现编译错误

    }

}

在声明的时候没有赋值

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

1

2

3

4

5

6

7

8

9

10

11

12

public class HelloWorld {

 

    public void method1() {

        final int i;

         

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

         

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

         

    }

 

}

 

 

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

1

2

3

4

5

6

public class HelloWorld {

 

    public void method1(final int j) {

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

    }

}

因为final int j是作为方法的参数被传入,在方法执行的时候会进行一次赋值,如果直接在方法中赋值,那方法调用的时候就是二次赋值了。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值