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

方法调用?

方法调用?

qq_乱了年轻的心_03726870 2016-12-29 03:45:09
如下代码:a的值经过a++之后应该为2,return a,    a应该为2呀?方法中Koo k=koo,怎么理解,什么意思?
查看完整描述

5 回答

已采纳
?
雪舞蔷薇

TA贡献51条经验 获得超16个赞

1 a值是你 在main()函数中的 int a=1;的值,所以等于1,如果你输出 System.out.println("a 值:"+add(a)); 就是2。

2 声明一个值为k 的Koo对象并将 add 方法中的koo赋值给k,所以指向的是同一地址,所以koo.a 值就是2。

不明白就看看这个:

值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。

引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。

查看完整回答
2 反对 回复 2016-12-29
?
四无小青年

TA贡献88条经验 获得超43个赞

这是值传递和引用传递的区别,先解释这两个概念。

值传递是指一些基本数据类型在作为方法参数传递时,是复制一个副本传递过去,传递过去的是一个新变量了,跟原来的没有任何关联了,改变其中一个的值另一个不会受影响。

引用传递是指把这个变量的内存地址传过去,也就是说传过去的变量和当前变量指向的是同一个变量,改变其中一个的值两个都变了。

int类型的数据是值传递,类型数据Koo是属于引用传递。如若解惑,望采纳

查看完整回答
1 反对 回复 2016-12-29
?
慕勒4949421

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

a++ 调用后执行加1  ++a执行加1后调用    Koo koo = new Koo() 和Koo k = koo意思一样 前者构造一个Koo对象  后者对象赋值

查看完整回答
反对 回复 2016-12-29
?
weixin_慕无忌4096388

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

命名类类型的变量Koo k,来接受KOo koo这个参数
查看完整回答
反对 回复 2016-12-29
?
摩诃迦叶

TA贡献146条经验 获得超54个赞

都是一些特别基础的知识。  我觉得让我给你讲一遍,不如你自己认真学一遍。

知识点:局部变量;类,对象,对象的属性

查看完整回答
反对 回复 2016-12-29
  • 5 回答
  • 0 关注
  • 1711 浏览

添加回答

举报

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