2 回答
TA贡献5条经验 获得超0个赞
返回的num依旧是10,首先你在类中定义的add函数是没有返回值的,所以你如果要在add函数中修改num的数值,那么你的函数
public void add(int num){ //这一种传参方式,函数实际在内部调用执行时是先声明了一个newnum,然后 num=+1; //再newnum=num,在函数内部进行的是newnum+=1(在这里提醒一下,你的 //代码写错了,令num加1,应该是num+=1,而不是num=+1)
} //所以num内存地址存放的数值10是不会被改变的
就应该定义成
public void add(int & num){ //这种传参方式为引用传参,这个才真正地把num的内存地址也一起给传递进去,
num=+1; //所以函数内部才可以对其进行修改
}
如果不用引用传参,将代码修改为:
package com.guigu;
public class WuReturn {
public static void main(String[] args){
int num=10;
WuReturn newwu=new WuReturn();
num=newwu.add(num); //修改处
System.out.println(num);
}
public void add(int num){
num+=1; //修改处
}
}
也可以实现num加1
添加回答
举报