类(class)
是构造对象的模板或蓝图。
我们可以将类想象成制作小甜饼的模具,将对象想象为小甜饼。由类构造(construct)对象的过程称为创建类的实例(instance)。
正如前面所看到的,用Java 编写的所有代码都位于某个类里面。
标准 Java 库提供了几千个类,可用于各种目的,如用户界面设计、日期、日历和网络编程。
尽管如此,在 Java 中还是需要创建一些自己的类,以便描述你的应用程序所对应的问题领域中的对象。
封装 (encapsulation,有时称为数据隐藏)是处理对象的一个重要概念。从形式上看,封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式。
对象中的数据称为实例字段(instance field),操作数据的过程称为方法(ethod)。
作为一个类的实例特定对象都有一组特定的实例字段值。这些值的集合就是这个对象的当前状态(state)。
无论何时,只要在对象上调用一个方法,它的状态就有可能发生改变。
实现封装的关键在于,绝对不能让类中的方法直接访问其他类的实例字段。
程序只能通过对象的方法与对象数据进行交互。
封装给对象赋予了“黑盒”特征,这是提高重用性和可靠性的关键。
这意味着一个类可以完全改变存储数据的方式,只要仍旧使用同样的方法操作数据,其他对象就不会知道也不用关心这个类所发生的变化。OOP 的另一个原则会让用户自定义 Java 类变得更为容易,这就是: 可以通过扩展其他类来构建新类。
事实上,在 Java 中,所有的类都源自一个“神通广大的超类”,它就是 object。所有其他类都扩展自这个 object 类。