在main 打印的 还是原来的number, 1作者: 周兴中 时间: 2012-6-24 01:36
public class Test{
public int test(int number){
number++;
return number;
}
public static void main(String[] args){
int number = 1;
new Test().test(number); //你这个函数确实返回了一个int的结果,为2,但是并没有赋值或改变主函数中number的值,所以输出只能是1.你传入函数的number只是作为函数中的局部变量,要么语句改成 System.out.println(new Test().test(number)); 或者 number = new Test().test(number);
System.out.println(number);
}
}作者: 余银桂 时间: 2012-6-24 02:06
public class Test{
public int test(int number){
number++;
return number;
}
public static void main(String[] args){
int number = 1;
new Test().test(number); //这里number调用test方法,number自增,怎么打印的结果还是1?
//这里虽然调用了方法,但是你只传入了一个值,返回的值并没有接收,所以打印的还是原来的number
System.out.println(number);
}
}
复制代码
作者: 孙飞 时间: 2012-6-24 07:14
你那里虽然number调用test方法,number自增,但是你并没有输出它,你输出的仍是局部变量number。
public class Test2
{
public int test(int number)
{
number++;
return number;
}
public static void main(String[] args)
{
int number = 1;
new Test2().test(number);
System.out.println(new Test2().test(number));
}
}