以下のコードでstrが書き換わらないのはなぜですか?

public static void main(String[] args) {
 String str = "a";
 System.out.println("str:" + str);
 changeStr(str);
 System.out.println("str:" + str);
}

static void changeStr(String aStr){
 aStr = "b";
}

実行結果
str1:a
str1:a