递归火山软件开发平台

标题: 常量值为什么可以被修改呢? [打印本页]

作者: shuimiao    时间: 2021-4-8 12:58
标题: 常量值为什么可以被修改呢?
理论上常量值就是固定的。但是当常量作为方法参数被修改后,再输出常量就是真的改了,就跟普通变量一样。

(, 下载次数: 83)

作者: 创世魂    时间: 2021-4-8 15:27
这种操作是第一次见。。。。没深入底层研究过。。但是猜测,注意是猜测:经过方法操作后,此时你操作的已经不是原本的那个常量了。。。。。

太过深奥。不太理解,超出知识盲区了。
作者: shuimiao    时间: 2021-4-8 15:59
创世魂 发表于 2021-4-8 15:27
这种操作是第一次见。。。。没深入底层研究过。。但是猜测,注意是猜测:经过方法操作后,此时你操作的已经 ...

我估计是常量没有被设置只读属性。其实也可以在常量被传递给方法后,内部使用一个不可见的临时变量接管该常量值,再传递给方法,这样常量就不会被修改。
作者: Fang0x378    时间: 2021-4-8 20:08
看不懂。。
作者: shuimiao    时间: 2021-4-8 21:30
Fang0x378 发表于 2021-4-8 20:08
看不懂。。

很简单的代码啊,就是常量值被传递给方法参数,方法里对该参数进行了赋值,而这样却会影响到常量值




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4