Пожалуйста, взгляните на приведенный ниже пример, я не могу понять связь между символом и байтом.
byte b = 1;
char c = 2;
c = b; // line 1
Дайте мне ошибку компиляции, потому что c - это тип char
, а b - тип byte
, поэтому приведение должно быть в таком состоянии
но теперь самое интересное, когда я запускаю код ниже
final byte b = 1;
char c = 2;
c = b; // line 2
строка 2 успешно компилируется, ей вообще не нужно приведение, поэтому мой вопрос в том, почему char
c ведет себя по-другому, когда я использую окончательный модификатор доступа с byte