このコード
で >> 5 8 ではなく >> 0 8 と表示される理由。このメソッドdoIt()
は、既に割り当てられている Person p の数を変更しますが、int x は既に割り当てられており、 では変更されませんdoIt()
。誰か理論的な説明を教えてくれませんか? 私はそれがどのように機能するかを理解しようとしています。ありがとう。
class Person{
int number=0;
}
class Student extends Person
{
int studentNumber;
}
public class Prog{
public void doIt(int x, Person p)
{
x=5;
p.number=8;
}
public static void main(String[] args) {
Prog p = new Prog();
p.test();
}
public void test()
{
int x=0;
Person p = new Person();
doIt(x,p);
System.out.println(x);
System.out.println(p.number);
}
}