天天看热讯:java 核心技术-12版 卷Ⅰ- 4.1.1 类

哔哩哔哩   2023-02-07 21:01:15


(资料图)

类(class)指定了如何构造对象。可以将类想象成制作小甜饼的模具,将对象想象为小甜饼。由一个类构造(construct)对象的过程成为创建这个类的一个实例(instance)

正如前面所看到的,用Java编写的所有代码都在某个类中。标准Java库提供了几千个类,可用于各种目的,如用户界面设计、日期和日历,以及网络编程。尽管如此,在Java中你还需要创建一些自己的类,来描述你的应用相应问题领域中的对象。

封装(encapsulation,有时成为信息隐藏)是处理对象的一个重要概念。从形式上看,封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现细节。对象中的数据称为实例字段(instance field),操作数据的过程成为方法(method)。作为一个类的实例,一个特定对象有一组特定的实例字段值。这些值的集合就是这个对象的当前状态(state)。只要在对象上调用一个方法,它的状态就有可能发生改变。

实现封装的关键在于,绝对不能让其他类中的方法直接访问这个类的实例字段。程序只能通过对象的方法与对象数据进行交互。封装为对象赋予了“黑盒”特性,这是提高重用性和可靠性的关键。这意味着一个类可以完全改变存储数据的方式,只要仍旧使用同样的方法操作数据,其他对象就不会知道也不用关心这个类所发生的变化。

OOP的另一个原则会让用户自定义Java类变得更加容易,这就是:可以通过扩展其他类来构建新类。事实上,Java提供了一个“神通广大的超类”,名为Object。所有其他类都扩展自这个Object 类。在下一章中,你会了解更多有关Object 类的内容。

扩展一个已有的类时,这个新类具有被扩展的那个类的全部属性和方法。你只需要在新类中提供适用于这个新类的新方法和实例字段。通过扩展一个类来得到另外一个类的概念称作继承(inheritance),有关继承的详细内容请参见下一章。