初学java我的一个小误区。发出来希望不要有人和我一样犯同样的错误
首先我们定义一个Calc函数:
public class Calc { void add(int x) { x+= 1; System.out.println("x="+x); } }我们定义啦一个add,里面有一个int类型的x,我们让x+=于1,然后打印x的值;
这个时候x是没有值的,我们需要定义主函数main来给x赋值:
public static void main(String[] args) { // write your code here int a = 2; Calc c = new Calc(); c.add(a); System.out.println("a="+a); }首先我们定义啦一个int类型的a,让a=2。
然后我们新创建一个Calc类型的c让c指向新建的Calc,
然后 我们把a的值附给add,所以现在add里面的x的值为2,
程序继续执行x+=1,现在x的值应该为3,
我们打印x等于3。
然后我们回到Main函数打印a的值,问a=多少,我记得当时我们班大部分人都觉的等于3,
但是a等于2,你们觉的可能听不明白。打印x等于3为什么a还是等于2。
所以我画啦一个草图希望能说的明白一点
。
由图我们可以看出Main和Calc函数是两个独立的程序,
他们的值一般是不会影响到另一个程序的。
由此a的值一直都没有改变所以a还是等于2.