黑马程序员技术交流社区
标题:
求助:关于对final修饰的变量只能赋值一次的疑问
[打印本页]
作者:
蔡增辉
时间:
2013-5-12 18:31
标题:
求助:关于对final修饰的变量只能赋值一次的疑问
本帖最后由 刘胜寒 于 2013-5-13 09:06 编辑
一直没想明白这个问题,向大家求助,已知两个知识点:
1. 被 final 修饰的变量只能赋值;
2. 类中的成员变量初始化顺序:默认初始化,显示初始化,构造代码块初始化,构造函数初始化;
写了一个简单的程序,FinalDemo 中有一被final修饰的成员变量a,在创建对象时才被初始化,
根据知识点2,这样 a 岂不是经历了两次赋值:默认初始化,和构造函数出事化?
代码如下: 打印结果为3;
3.PNG
(6.78 KB, 下载次数: 0)
下载附件
2013-5-12 18:30 上传
作者:
小陈期待逆袭
时间:
2013-5-12 18:42
final修饰实例变量时只能在下面三种情况对变量进行初始化
1 在定义final实例变量时初始值
2、在非静态初始化块中为final实例变量指定初始值
3、在构造器中为final实例变量指定初始值
希望可帮助到你。
final修饰类变量是 只能在两种情况下对变量进行初始化
1、在定义final类变量是初始值
2、在静态初始化块中为final类变量指定初始值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2