为什么一定要这样呢?
c=add(a,b)就不行吗?在c中是因为是引用c的地址变量从而答到改变c值的目的
当然在java中也能,但这不提倡!
c=add(a,b)就不行吗?在c中是因为是引用c的地址变量从而答到改变c值的目的
当然在java中也能,但这不提倡!
解决方案 »
- 用java 怎么写修改文件夹图标?
- 经常在书上看到垃圾收集器的线程优先级比main主线程低,事实上好象不是。
- 关于tomcat的映射地址问题!
- 我按孙鑫的视频教程运行他的一道例子,结果为什么跟他的不一样???
- 请问要学习嵌入式开发需要掌握哪些知识和语言,哪种语言在这方面的表现最好
- 关于Class.forName的问题!急死我了!
- 求教关于计算时间差,多谢
- 不知道大家看了csdn关于MVP的报道没有
- java怎么进行多个线程之间的通讯啊?
- 关于JAVA的一些疑惑
- 如何使用jdk自带的HtmlConverter?
- 哪里能下到传说中的〈thinking in Java>和〈Java夜未眠〉(电子版)??
然后在add中调用
C.setValue(a + b);就行了
{
return c;
}
这样显得更专业。
c.setValue(a + b);
}这个方法看起来好像是可以的,当此函数被调用的时候, a 和 b都是直接把值传进来的, 而c其实是一个指向 Integer对象的指针,你调用c.setValue()的时候就修改了那个实际对象里面所存储的值。但是,这也是行不通的。因为 Integer 这个类所存储的值是无法改变的, 它根本就没有一个成员函数可以用来修改所存储的数值,setValue()这个函数是不存在的。唯一的解决办法是,你要自己写一个类class MyInteger {
public int integer;
}然后这样写 add 函数public void add (int a, int b, MyInteger c){
c.integer = a + b;
}这样,c所指向的实际对象里面的值就真正改变了
面向对象 myObj.doSth(); 或者Another.doSth(MyObject);//MyObject里面存放100个int
面向对象 myObj.doSth(); 或者Another.doSth(MyObject);//MyObject里面存放100个int
public int integer;
}然后这样写 add 函数public void add (int a, int b, MyInteger c){
c.integer = a + b;
}
面向对象 myObj.doSth(); 或者Another.doSth(MyObject);//MyObject里面存放100个int
老大看来比较的牛,比较精辟