私が書いているかどうかの私の理解に
Car a3=new Car()
このステートメントはa3
、JVM ヒープ内のすべてのプロパティを使用して、jvm スタック内で名前が付けられたハンドルを作成します。これが正しければ、値による呼び出しがどのように機能するのか疑問に思っています。だから、私がメソッドcheckMethod(Car c)
を作成し、checkMethod(a3);
私たちの車が
public class Car{
int a=0;
public int getpar(){
return a;
}
}
にcheckMethod
アクセスしようとするusing a3.a = 5;
ので、その値を変更するa3.a
と、呼び出し元のクラスに表示され、jvm がヒープに作成した同じフィールドを指していました。
しかし、呼び出し元のメソッドで実行a3= null;
し、呼び出し元のメソッドに戻って
checkMethod(a3)
このオブジェクトを表示しようとすると、null ではありませんか? オブジェクトのプロパティと比較して動作が異なるのはなぜですか???