国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java基础:使用final需要注意哪些事项?

java基础:使用final需要注意哪些事项?

java基础 final

头像

小妮浅浅

2021-04-22 09:48:423917浏览 · 0收藏 · 0评论

下面我们就来明确在变量中使用final的需要注意的规则,以及在局部和匿名类中关于使用final变量的特殊探讨,下面一起来看接下来的内容搞吧。

1.对于final变量,编译器和处理器都要遵守两个重排序规则

  • 构造函数内,对一个 final 变量的写入,与随后把这个被构造对象的引用赋值给一个变量,这两个操作之间不可重排序;

  • 首次读一个包含 final 变量的对象,与随后首次读这个 final 变量,这两个操作之间不可以重排序。

2.局部内部类和匿名内部类只能访问局部final变量

为了解决这个问题,我们先要去使用代码去验证一下。

public class Test {
    public static void main(String[] args)  {     
    }   
    //局部final变量a,b
    public void test(final int b) {
        final int a = 10;
        //匿名内部类
        new Thread(){
            public void run() {
                System.out.println(a);
                System.out.println(b);
            };
        }.start();
    }
}

原因是为什么呢?这是因为test()方法里面的参数a和b,在运行时,main线程快要结束,但是thread还没有开始。因此需要有一种机制,在使得运行thread线程时候能够调用a和b的值,怎么办呢?java采用了一种复制的机制,

也就说如果局部变量的值在编译期间就可以确定,则直接在匿名内部里面创建一个拷贝。如果局部变量的值无法在编译期间确定,则通过构造器传参的方式来对拷贝进行初始化赋值。

以上就是我们使用final在变量中需要注意的事项,如果忽略以上两点,很容易出现程序的报错,小伙伴们学习的时候需要留心。

推荐操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

伦敦战场完整版在线观看| 妈妈你真棒插曲快来救救我电影| 一路向西| 成品图片的网站| 《公与媳夫妇:交换》| 美国A片巜禁忌9| 老公拿狗给我配| 苍老师最经典10部电影| 美女两个球球抖动抓球球视频| 男男| BOBO浏览器| 三飞母姐妹花女儿的小说| 女人尝试到更粗大的心理变化 | 久久午夜国产精品WWW| 韩国三级《偷妻》| 双男真人免费观看完整版高清| 成品人和精品人的区别哪个好| 亲密时男人最想听女人说什么| 老和尚猛挺进她莹莹的体导演是谁| 两头婚是啥意思| 老公说我的B夹得他很爽| 宋芸桦| 欧美XBOX与IPHONE| 回娘家白天像父女晚上像夫妻| 暴躁少女免费看完整版| 小叔子从后面抱住我的电视剧| 狗配人的大片视频大全| 《赤裸奶头》完整版| 打扑克| 二人生猴子全程免费| 男生将78申请女生的定眼| 向日葵在线观看免费高清电视剧| HTTPS://WWW.API...| 两只奶头被老头吸肿了| 看到老妈洗澡忍不住怎么办| 女性扒开大腿内侧小肚子痒| 《温柔善良的儿媳妇》的背景故事| 日产MV和欧美MV的外观对比| 小叔子媳妇在我房间坐月子怎么办| 成人网站| 少女韩国免费观看高清电视剧八戒