现在假设有一个类Class A{
public static get_data Int (){
return a;
}
}
如果在class B 调用get_data方法得到a,并且在class B中对a做一些处理,如何使B中处理完的a使A中的a也跟着改变
其实就是想问如何修改静态方法的返回值
------解决思路----------------------
把你所需求的a变成成员变量(注意静态的方法只能调用静态的成员变量)
因为静态的本来就是唯一的一份
所以它直接会被改变
------解决思路----------------------
你的要求就是引用传递的要求,java中没有引用传递,也就是不能传递基本类型的地址。而对于C#之类的,有一个ref 关键字,他可以把变量改为引用传递,也就是你说的一个地方改变值,另一个地方也会得到修改后的值。
但是也是可以实现的,因为对象变量保存的地址,虽然他不是引用传递,但是赋值的时候就是赋值的地址,虽然改变这个变量本身没用,但是可以改变这个对象内的属性
简单得说就是:
使用一个对象封装你需要传递的数据,进行数据传递
public class Test {
public static void main(String[] args) {
MyInt myint = new MyInt();
change(myint);
System.out.println(myint.num);
}
public static void change(MyInt num){
num.num = 10;
}
}
class MyInt{
public int num;
}
当然最好再弄个getter和setter