class VarTest{
int number;

static void methodA(int a,VarTest b){
a=10;
b.number=100;
}
public static void main(String[] args){
int a=0;
VarTest b=new VarTest();
b.number=0;
methodA(a,b);
System.out.println("a:"+a+",b.number:"+b.number);
}
}
を実行し、なぜそのような出力結果が得られるか論ぜよ。

実行結果はa=0,b.number=100です。
多分スタックとかヒープとかそんな感じのことだと思うのですがわかりません。
お願いします。