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

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
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马