封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
对一个类或对象实现良好的封装,可以实现以下目的:
- 隐藏类的实现细节
- 让使用者只能通过事先预定的方法来访问数据,从而在该方法里加入控制逻辑,限制对成员变量不合理的访问。
- 可进行数据检查,从而有利于保证对象信息的完整性。
- 便于修改,提高代码的可维护性
访问控制符
Java访问控制级别由小到大排列如下:(后者包括前者的访问权限)
- private:同一个类中可以访问
- default:通一个包中
- protected:子类中可以访问
- public:全局范围内
如果一个Java源文件里定义的所有类都没有使用public修饰,则这个java源文件的文件名可以是一切合法的文件名;但如果一个Java源文件里定义了一个public修饰符的类,则这个源文件的文件名必须与public修饰的类的类名相同。
关于访问控制符的使用,存在如下几条基本准则。
- 类里绝大部分成员变量都应该使用private修饰,一些辅助实现该类的其他方法也应该使用private修饰。
- 如果某个类主要用作其他类的父类,该类里包含的大部分方法可能仅希望被其子类重写,而不希望被外界直接调用,则应该使用protected修饰这些方法。
- 希望暴露出来给其他类自由调用的方法应该使用public修饰。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。