Подскажите почему в варианте с объектами значения l не меняются, а если заменить код на закомментированый то значения переменных l меняются?
public class Variables {
    public static void main(String[] args) {
        Variables a = new Variables();
        a.l = 3;
        Variables b = new Variables();
        b.l = 6;
        method4(a, b);
        System.out.println("a = " + a.l + ", b = " + b.l);
    }

    private static void method4(Variables _a, Variables _b) {
        Variables temp = _a;
        _a = _b;
        _b = temp;
/*     int temp = _a.l;
        _a.l = _b.l;
        _b.l = temp;
*/
    }

    private int l;
}