独習JAVAで勉強していますが、

class TestString {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("abcde");
System.out.println(sb);
a(sb);
System.out.println(sb);
}

public static void a(StringBuffer sb) {
sb = new StringBuffer("wxyz");
}
}

をコンパイルして実行すると、
abcde
abcde
と出力されるのですが、ここは
abcde
wxyz
と出力されない理由がわかりません。どなたかご存知でしたら
教えていただけませんか。