Почему нельзя присвоить новое значение переменной в классе?
Потому что код нельзя писать внутри класса вне методов и секций инициализации.
Вы уже один раз проинициализировали переменную значением, вне метода насколько мне известно, менять переменную нельзя. В теле метода можете присвоить новое. В рамках класса нет.