我相信我理解Java Beans是什么:包含no-arg构造函数的Java类是可序列化的,并使用getter和setter公开它们的字段.
Java Bean是否必须公开其所有字段才能获得bean的资格?如果不是,它甚至不得暴露任何?
May Java Beans是否包含带参数的构造函数以及无参数构造函数?
Java Bean的目的是什么,除了符合某种编码风格?似乎有很多关于'豆豆'或'豆豆'的讨论,但我不知道为什么它们是有利的,特别是.
我完全可以制作no-arg构造函数.可能有很多原因,如果无参数构造函数帮助编译器进行一些优化,我也不会感到惊讶.我也可以理解让你的课程可序列化.即使该类从未被序列化,也可能是,并且回溯可能会令人讨厌(或者在黑盒子库中不可能).
但最令人好奇的是要求所有字段都可以通过getter和setter访问.当我需要它时,我确实在我自己的工作中使用它们,但Java Beans需要它们(可能所有这些,取决于我对#1的回答)似乎很奇怪.如果它是反射的问题,那么反射是否也不容易得到字段?如果这不仅仅是设置值的问题,那么如果方法存在,反射是否不能在字段上使用getter/setter?