求助:如何改变函数参数获取的变量的值
public class a{public void myAdd(int x){
x=x+1;
}
}
class MyMain{
int i;
public static void main(String[] args){
i=1;
myAdd(i);
System.out.println(i);
}
}
我想利用MyAdd这个函数实现变量自增一,但这种方法无法实现,各位大神有没有什么高见{:9_241:} 你这个代码漏洞百出吧?
基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的 你可以去搜一搜java中的参数值传递和引用传递,java基本数据类型都是按参数值传递的 还有,你在MyMain类中定义了一个局部变量i,却在main方法中使用,这是不正确的,因为静态方法是不能使用非静态变量的,而且你都没有创建对象,是怎么使用a类中的myadd方法的?这一点也是错的,你可以去查一下,java中关于静态static的定义和使用
暗pluto 发表于 2019-3-2 20:40
你可以去搜一搜java中的参数值传递和引用传递,java基本数据类型都是按参数值传递的
好的,非常感谢 CarrotFish 发表于 2019-3-2 20:47
好的,非常感谢
不客气
class MyMain{
public static void myAdd(int[] x){
x=x+1;
}
public static void main(String[] args){
int [] i=new int{1, 0}
myAdd(i);
System.out.println(i);
}
}
修改后的
页:
[1]