A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 突然世界晴 中级黑马   /  2015-4-12 23:12  /  992 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final常量可以在定义的时候赋值,也可以在构造方法中赋值
那么请问可以在构造代码快中赋值吗?或者静态代码块中赋值吗?

6 个回复

倒序浏览
可以,final的意思是只能赋值一次,无论你通过什么方法赋值。
回复 使用道具 举报
可以的!
回复 使用道具 举报
我写下final的定义,你看看就明白了!
1、用final修饰的类,不能再被继承。
2、用final修饰的方法,不能被子类重写。
3、用final修饰的变量(包括成员变量和局部变量)将变成常量,只能赋值一次。
回复 使用道具 举报
final特点:
1:这个关键字是一个修饰符,可以修饰类,方法,变量。
2:被final修饰的类是一个最终类,不可以被继承。
3:被final修饰的方法是一个最终方法,不可以被覆盖。
4:被final修饰的变量是一个常量,只能赋值一次。
回复 使用道具 举报
我也看明白了,起初我一直以为只能在定义的时候就得赋值了
回复 使用道具 举报
可以的,因为final可以修饰类、方法和对象。对象可以在构造代码块和静态代码块中定义和赋值,而final只相当于一个修饰符,比如public、private等,它只是让对象具有了一定的功能,让对象只能赋值一次,所以可以的,希望对您有一定的帮助。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马