文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。
面试官: 封装的目的是什么,为什么要有封装?
参考答案:
封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。对一个类或对象实现良好的封装,可以实现以下目的:
-
隐藏类的实现细节;
-
让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问;
-
可进行数据检查,从而有利于保证对象信息的完整性;
-
便于修改,提高代码的可维护性。
扩展阅读
为了实现良好的封装,需要从两个方面考虑:
-
将对象的成员变量和实现细节隐藏起来,不允许外部直接访问;
-
把方法暴露出来,让方法来控制对这些成员变量进行安全的访问和操作。
封装实际上有两个方面的含义:把该隐藏的隐藏起来,把该暴露的暴露出来。这两个方面都需要通过使用Java提供的访问控制符来实现。