`
yumingtao
  • 浏览: 19537 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

final变量

    博客分类:
  • java
阅读更多
一个final 变量的值不能被改变,并且必须在一定的时刻赋值
声明为 final 的变量被标识为不可改变的,但该变量引用的对象属性却可以通过访问变量、或调用成员函数改变,当然这要求那些对象提供了“写”数据的接口(String类就没有提供“写”数据的接口,所以字符串的内容不可变)。声明为 final 的成员变量必须在构造对象的过程中完成初始化:
1)其定义处,也就是说在final变量定义时直接给其赋值;
2)或者是在初始化块中;
3)或者是在构造函数中;
4)这三个地方必须(且只能)选其一
5)在以后的引用中只能读取,不能修改。
声明为 final 的静态变量不必在构造函数中初始化,但必须(且只能)在静态上下文中初始化一次(定义时、静态区段均可)。
声明为 final 的局部变量必须(且只能)在使用前初始化一次,不使用的话可不必初始化。。比如可以定义以下变量(编译通过):
    public static void main(String[] args)
    {
        final int a = 0;
        final int b;
        b = 0;
        final int c;
    }
分享到:
评论

相关推荐

    java final变量详解

    java final变量详解 java final变量详解 java final变量详解 java final变量详解

    深入理解Java final变量的内存模型

     在构造函数内对一个 final 域的写,与随后把这个构造对象的引用赋值给一个变量,这两个操作之间不能重排序  初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作之间不能重排序  举...

    final变量.

    final变量.

    深入理解final变量的初始化

    本篇文章是对final变量的初始化进行了详细的分析介绍,需要的朋友参考下

    Java中final变量使用总结

    主要介绍了Java中final变量使用总结,final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值,通常final定义的变量为常量,需要的朋友可以参考下

    局部变量用final的讨论

    NULL 博文链接:https://1598623317.iteye.com/blog/2029809

    Java零基础-final关键字.md

    了解final关键字的一些规则,如final变量的初始化、final方法的重写和final类的继承等。 阅读建议: 建议读者在阅读前具备Java的基础知识,包括类、对象、方法和变量等概念。 在阅读过程中,尝试编写简单的Java程序...

    Java并发--final关键字.docx

    在Java中变量可以分为成员变量和局部变量 成员变量 通常每个类中成员变量可以分为 类变量(static修饰的变量) 以及 实例变量 针对这两种类型的变量...当final变量未初始化时系统不会进行隐式初始化,会出现报错。

    final修饰成员变量和局部变量.md

    本文章是关于final部分知识所作的自我总结,内容为final对成员变量和局部变量修饰的简要解答,除了对自我java学习的一个小结,也希望能够帮助到在java路上对该内容疑惑的同行

    【05-面向对象(下)】

    •对一个final变量来说,不管它是类变量、实例变量,还是局部变量,只要该变量满足3个条件,这个final变量就 不再是一个变量,而是相当于一个直接量。  –使用final修饰符修饰;  –在定义该final变量时指定...

    Java中final作用于变量、参数、方法及类该如何处理

    Java中的final关键字非常重要,它可以应用于类、方法以及变量,下面这篇文章主要给大家介绍了关于Java中final作用于变量、参数、方法及类该如何处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考...

    Java并发学习-AtomicIntegerFieldUpdater字段原子更新类.docx

    只能是可修改变量,不能使final变量,因为final的语义就是不可修改。 对于AtomicIntegerFieldUpdater和AtomicLongFieldUpdater只能修改int/long类型的字段,不能修改其包装类型(Integer/Long)。如果要修改包装...

    java为什么匿名内部类的参数引用时final?final局部变量的生命周期

    在知乎上看到了一篇帖子 在这个问题下面大家已经吵得不可开交了,看了很多篇文章,被误导进了很多的坑,发现只有下面两篇文章是写的最好的,解释的很清楚,我把两篇文章简单的总结了一下: ...1.问题的引出 ...

    JAVA 程序开发规范

    4、 static final 变量的命名 必须全部用大写字母 例如:private static final String CONTENT_TYPE = "text/html;charset=GBK"; 5、 参数的命名 和变量的命名规范一致 例如: public String setUsername(String ...

    day11 05 final关键字用于修饰成员变量

    day11_05_final关键字用于修饰成员变量

    Java面试32个经典问题 .doc

    其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值;二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给...

    JavaSE基础学习笔记

    常量final 变量的命名规范 运算符 for循环 增强for循环 break continue 练习 Java的方法 1、何谓方法 2、方法的定义 方法调用 练习:比大小 面试题: 3、方法的重载 4、命令行传参 5、可变参数 6、递归 数组 数组...

    monkeysayhi#HexoBlogOnGithub#Java中的final关键字1

    例:com.sun.org.apache.bcel.internal.classfile.Signature中的dump方法:final变量final成员变量f

    JAVA 面试32问

    其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值;二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

     final 说明一个类为最终类,即改类不能再有子类。  public 说明类为公共类,该类可以被当前包以外的类和对象使用。  private 说明类为私有类。 (4) extends 子句用于说明类的直接超类。 (5) implements ...

Global site tag (gtag.js) - Google Analytics