Java没有引用传递机制,C#有。
程序员文章站
2022-09-27 22:23:55
Java没有引用传递机制,C#有: public class Obj { private Integer myValue; public Integer getMyValue() { return myValue; } public void setMyValue(Integer myValue) ......
java没有引用传递机制,c#有:
public class obj { private integer myvalue; public integer getmyvalue() { return myvalue; } public void setmyvalue(integer myvalue) { this.myvalue = myvalue; } } public class objoperation { public void changevalue(obj obj) { obj.setmyvalue(1); } public void changevalue2(obj obj) { obj = new obj(); obj.setmyvalue(2); } }
public class myapp { public static void main(string[] args) { obj obj = new obj(); obj.setmyvalue(0); system.out.println(obj.getmyvalue()); objoperation refoperation = new objoperation(); refoperation.changevalue(obj); system.out.println(obj.getmyvalue()); refoperation.changevalue2(obj); system.out.println(obj.getmyvalue()); } }
运行结果:
0
1
1
public class obj { private int myvalue; public int myvalue { get => myvalue; set => myvalue = value; } } public class objoperation { public void changevalue(obj obj) { obj.myvalue = 1; } public void changevalue2(obj obj) { obj = new obj(); obj.myvalue = 2; } /// <summary> /// 引用传递 /// </summary> /// <param name="obj"></param> public void changevalue3(ref obj obj) { obj = new obj(); obj.myvalue = 2; } }
class program { static void main(string[] args) { obj obj = new obj(); obj.myvalue = 0; console.writeline(obj.myvalue); objoperation objoperation = new objoperation(); objoperation.changevalue(obj); console.writeline(obj.myvalue); objoperation.changevalue2(obj); console.writeline(obj.myvalue); //引用传递 objoperation.changevalue3(ref obj); console.writeline(obj.myvalue); console.read(); } }
运行结果:
0
1
1
2
上一篇: 包菜和椰菜的区别,包菜怎么做好吃
下一篇: 怎样发花生芽这样做发芽率百分之百