为了账号安全,请及时绑定邮箱和手机立即绑定

有void,不是无返回值吗?

有void,不是无返回值吗?

jcttt 2017-05-24 14:57:52
最后一行的输出  调用的HelloWorld.hobby为什么不是”imooc“,而是”爱慕课“,既然无返回值,那么不应该是原值吗
查看完整描述

3 回答

?
AurevoirXavier

TA贡献4条经验 获得超2个赞

首先 hobby 是个静态变量,该类对象都可以访问。

然后 hello 这个对象修改了该变量,自然结果就是爱慕课了。

至于你说的 void 它是一个返回类型,但是不影响以上面这个操作。我打个比方,变量是一杯水,对象是你本人,叫你去喝水的人是方法调用者,你喝了这杯水,这杯水的值就改变了,如果是 String 返回类型,你可以 return,就像是你喝完以后告诉那个人你喝完了,如果是 Int 返回类型你可以告诉他你喝了多少毫升水之类的,没有返回值的话就是你把水喝完了,啥也没告诉他。什么返回类型并不影响你喝水这个动作,水被改变是必然。另外这个方法是个 main 方法,你可以上网搜搜有关他的知识补充一下。java -c 命令查看 class 文件可以帮助你更详细看到过程。

查看完整回答
2 反对 回复 2017-05-25
?
谜之米

TA贡献8条经验 获得超5个赞

首先void 无返回值 是针对调用方法而言。 而且你这和void 没有一点关系,hobby为static 所以hobby为HelloWorld的类变量无论通过那种方式都能完成赋值,

查看完整回答
1 反对 回复 2017-05-24
?
望远

TA贡献1017条经验 获得超1032个赞

这里是因为hobby是静态变量,多个实例的hobby使用同一个内存空间,只要通过一个实例(或者类名)改变了它的值,那么,往后所有的取值都将是新值,注释已经写得很明白了。

查看完整回答
1 反对 回复 2017-05-24
  • 3 回答
  • 0 关注
  • 1701 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信