首页 > 编程语言 > 详细

理解Java中的final关键字

时间:2020-05-01 18:11:31      阅读:59      评论:0      收藏:0      [点我收藏+]

final关键字的基本用法

1. 修饰类

出于安全考虑,类无法被继承

2. 修饰方法

防止继承类修改方法
private方法会隐式指定为final方法;

3. 修饰变量

基本数据类型,初始化后不能再修改;
引用类型,不能改变引用指向;


局部内部类为什么只能访问局部final变量

public void test(final int b) {
    final int a = 10;
    new Thread(
            new Runnable() {
              @Override
              public void run() {
                System.out.println(b);
                System.out.println(a);
              }
            },
            "T1")
        .start();
  }

局部内部类访问的局部变量在编译时,对于已经明确赋值拷贝到局部内部类,变成其局部变量;如果内部类中修改了该变量,就无法保证数据一致性。添加final关键字,可以防止内部类修改;
Java 8中不加final关键字,编译不会报错,但在内部类中修改变量,编译会报错。

理解Java中的final关键字

原文:https://www.cnblogs.com/gudujian/p/12813821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!