递归火山软件开发平台

 找回密码
 立即注册
搜索
热搜: 火山 源码 类库

常量值为什么可以被修改呢?

查看数: 16006 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-8 12:58

正文摘要:

理论上常量值就是固定的。但是当常量作为方法参数被修改后,再输出常量就是真的改了,就跟普通变量一样。

回复

shuimiao 发表于 2021-4-8 21:30:56

很简单的代码啊,就是常量值被传递给方法参数,方法里对该参数进行了赋值,而这样却会影响到常量值
Fang0x378 发表于 2021-4-8 20:08:53
看不懂。。
shuimiao 发表于 2021-4-8 15:59:16
创世魂 发表于 2021-4-8 15:27
这种操作是第一次见。。。。没深入底层研究过。。但是猜测,注意是猜测:经过方法操作后,此时你操作的已经 ...

我估计是常量没有被设置只读属性。其实也可以在常量被传递给方法后,内部使用一个不可见的临时变量接管该常量值,再传递给方法,这样常量就不会被修改。
创世魂 发表于 2021-4-8 15:27:33
这种操作是第一次见。。。。没深入底层研究过。。但是猜测,注意是猜测:经过方法操作后,此时你操作的已经不是原本的那个常量了。。。。。

太过深奥。不太理解,超出知识盲区了。

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-8-5 00:49 , Processed in 0.082118 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表