public class Main { public static void main(String[] args) { A p = new A(1); A q = new A(2); System.out.println(p.methodA(10)); System.out.println(q.methodA(10)); } } ばかにするな!と言われそう。そう 11 12 です。二つのメソッド呼び出し p.methodA(10) と q.methodA(10) は 実引数の値はどちらも10なのに、どうして戻り値がちがうのでしょう?呼び出しているオブジェクトがpとqでちがうためですね。 実引数の値10は、メソッドmethodAの仮引数pで受け取ります。では、どのオブジェクトで呼び出しているか、pかqか、という情報はmethodAの何で受け取っているのでしょうか?もうおわかりで