初心者ですよろしくお願いします。

どの解説を読んでも
「Stringクラスは文字列の内容を変更できない」とありますが
以下のコードでは変更できてキーボード入力した文字列で
String オブジェクトに再度設定できます。
なんででしょうか?

import java.io.*;

class strsample
{
public static void main(String args[]) throws IOException
{
String str1 = new String("aaaaa");
System.out.println("入力してください");

BufferedReader bf = new BufferedReader (new InputStreamReader(System.in));

str1=bf.readLine();
System.out.println("あなたの入力した文字は:" + str1);

}

}