我是一所从事独立研究的大学的计算机科学专业的学生。正如我刚刚学习的那样,我正在努力确保我掌握基础知识,为未来养成良好的习惯。
最近我采取了尽可能强制执行封装的方法。例如,使用Collections.unmodifiableList()
返回不可修改的列表。对于我的研究,我使用Ebean作为我的数据库模型,并发现,1)每个类必须有一个公共的没有arg构造函数和2)每个字段的公共getter和setter。我理解Ebean的工作方式,使用反射,需要这个,它只是让我想知道:封装是否重要?
答案 0 :(得分:0)
Ebean不需要任何公共构造函数/ getter / setter。构造函数可以是私有的,您可以直接使Ebean使用字段。
见user guide的第14章。
Hibernate和myBatis(虽然不是ORM)也可以处理私有构造函数/字段。