Большое допустимое значение цветов это 255, это максимальное значение byte, но зачем их делают к int? Byte экономит память, вместо 4 байтов int, 1 байт.
При проектировании могли учитывать несколько обстоятельств
а. 255 - это максимальное значение только в 8-битных цветовых пространствах, а уже больше 20 лет используются и другие (у меня на мониторе 12-бит, на сканере и фотоаппарате - 16-бит на канал), вот чтобы добавлять поддержку таких пространств не было мучительно больно
б. Надо смотреть как осуществляется вызов в виртуальной машине - во первых, там может идти выравнивание вплоть до разрядности, во-вторых, из-за особенностей вызова работа с числами с меньшей разрядностью может быть медленнее из-за того, что будут добавлятся инструкции, расширяющие число до 32/64-бит
Хреновая "фишка" здесь в том, что если используешь чьё-нибудь готовое ООП, то автоматически становишься не кодером, а юзером.
Юзаешь только то, что тебе написали для работы, и не выпендриваешься.
Выходит новая версия этого ЯП с ООП, и ты снова, как дурак, переучиваешься в связи с кучей новшеств и изменений в иерархии классов, особенностях их свойств и методов.