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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

final修饰成员变量时,此时该变量是常量,不能够被重新赋值,但如果要想重新赋值该怎么做?

11 个回复

倒序浏览
从新new一个实例化对象,对其赋值
回复 使用道具 举报
final修饰的成员变量就是为了保证这个变量不会再被改变,如果需要改变,就不要声明为final。
回复 使用道具 举报
那已经是一个常量了,不能改变了
回复 使用道具 举报
被final修饰之后 是无法重新另外赋值的,非要改值,只有去掉final修饰的成员变量原来的值,重新写一个咯
回复 使用道具 举报
被final修饰的 就是在运行期间无法被重新赋值
回复 使用道具 举报
被final修饰的变量我们称为常量,一般的量在对象初始化的过程中会有三次赋值,隐式初始化赋值,显式初始化赋值,构造函数赋值.比如,int型的变量隐式初始化值为0,但是final修饰的量没有隐式初始化赋值,想要对他赋值可以通过显式初始化赋值比如final int i=5;或者在构造函数中赋值,或者在方法中赋值,但是,final修饰的量,只要被赋值过一次,那么在该次程序运行期间,它的值就不能改变
回复 使用道具 举报
被final修饰的变量无法再重新赋值
回复 使用道具 举报
洪伟 中级黑马 2015-6-17 11:45:34
9#
final 的作用就是避免这个变量的值以后被修改,如果还想从新赋值,那就不能使用final
回复 使用道具 举报
常量是不能够修改的,就像我们知道的常识一样,多少就是多少,100就是100
回复 使用道具 举报
被final修饰的变量是个常量
回复 使用道具 举报
如果需要重新赋值,就和final对变量作用冲突了。需要重新赋值就不要定义final
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马