我是Java新手,对以下程序的结果感到非常困惑,有人可以详细说明交换场景吗?
另外,有人可以给我几个关于this关键字的例子吗?
class P {
    int i;
    void test1(P p1, P p2) {
        int i = p1.i;
        p1.i = p2.i;
        p2.i = i;;
    }
    void test2(P p1) {
        int i = this.i;
        this.i = p1.i;
        p1.i = i;
    }
    public static void main(String[] args) {
        P p1 = new P();
        P p2 = new P();
        p1.i = 1;
        p2.i = 2;
        p1.test1(p1, p2);
        System.out.println(p1.i + "," + p2.i);
        p1.test(p2);
        System.out.println(p1.i + "," + p2.i);
    }
}
//Output 2.1 1.2
谢谢。