Atributos finais não podem ter seu resultado final alterado. Com isso, o casting aqui a = inteiroFinal; não é necessario. Modifica o valor de inteiroFinal para um intervalo maior que byte aceite e veja se não vai ser necessario o cast.
exemplo:
final int inteiroFinal = 1000;
Note que vai dar erro de compilador.
Deixa eu tentar explicar direito. A VM identifica que o valor de int sendo final não vai poder ultrapassar a capacidade em bits, não sendo necessario o cast pra byte.