Хотя это является обязательным требованием для оригинальных Java-бинов, согласно соглашению, стоит отметить, что многие библиотеки, поддерживающие «бины», также рассматривают открытые поля как допустимые методы доступа;и обычно также позволяют использовать аннотации для указания непубличных методов и полей.Это включает в себя библиотеки, такие как JAXB (для привязки данных XML-к-POJO) и Джексона (JSON-к-POJO).
Таким образом, в некоторых отношениях оригинальная «спецификация» Java-бина (соглашение, описанное в JDK JDK)не все это уже актуально.
Я предполагаю, что авторы оригинальных конвенций просто считали, что прямой доступ к полям не является хорошей практикой.Лично я думаю, что есть случаи, когда простые неизменяемые классоподобные классные классы хороши, и довольно глупо писать код обезьяны для геттеров (или сеттеров для изменяемых);но есть тонкая грань между «структурами Java» (только данные, без логики или, самое большее, очень мало) и «реальными» объектами (состояние и поведение).