public class StudyList {
public static void main(String[] args) {
C c1 = new C();
c1.i = 1;
change(c1);
System.out.println(c1.i);
}
private static void change(C c) {
c.i = 2;
c = new C();
c.i = 3;
}
}
class C {
int i;
}
比如这个程序运行后得到的c1.i的结果是2,因为change方法中new的新对象是个新的地址值,没有交给main方法。
那如果我想通过main方法拿到那个新的对象并得到它的值,能拿到吗?能得话是通过什么方式拿到得?
可以啊。你将这个对象返回就行了。
public class StudyList {
public static void main(String[] args){
C c1 = new C();
c1.i = 1;
C c2=change(c1);
System.out.println(c1.i);
System.out.println(c2.i);
}
private static C change(C c) {
c.i = 2;
c = new C();
c.i = 3;
return c;
}
}
class C {
int i;
}
change方法加个返回值。返回新对象就行了呀
类间传值/方法间传值,大概也就那么几种办法
1.函数返回值
2.函数的参数加out关键字,将参数向外传递
3.声明一个全局变量,两个函数都去操作同一个变量