変数の宣言について質問です。
とりあえず、説明しやすくする為に適当な以下のようなクラスを作りました。

public class Hensu {
Hensu(String title) {
System.out.println(title);
}
}

以上が説明の為のクラスです。
で、メインメソッドで以上のクラスを使うとします。
下のように使うと

Hensu h = new Hensu("変数の" + 0);
Hensu h = new Hensu("変数の" + 1);
Hensu h = new Hensu("変数の" + 2);

ローカル変数の重複でエラーが出ます。
Hensu h を1回だけにすればエラーが出なくなるのはわかりますが、

次に

for(int i = 0; i < 3; i++) {
Hensu h = new Hensu("変数の" + i);
}
このようにfor文でインスタンス3つ作って実行させても問題ありませんでした。
Hensu h を同じように3回宣言しているのにfor文を使った場合は
問題なく実行できるのが良く分かりません。なんか理由がありますか?