2.2 库和客户程序

迄今为止,你所写的程序都只是存在于单个.java文件中的Java代码。而对于大型程序,将所有代码保存在单个文件中,这种方式存在着很多限制,而且也没有必要这么做。幸运的是,在Java中,引用在另一个文件中定义的方法非常容易。Java的这种能力对我们的编程风格有两个重要的影响。

首先,它使代码复用(code reuse)成为可能。一个程序可以通过引用,来使用已经编写和调试过的代码,而不必复制代码。定义可重复使用的代码的能力,是现代编程的重要组成部分。这相当于扩展Java——你可以定义和使用你自己的数据操作。

其次,它实现了模块化编程(modular programming)。你不仅可以如2.1节所述,将程序分成静态方法,还可以将这些方法保存在不同的文件中,并根据应用程序的需要进行分组。模块化编程非常重要,因为它允许我们独立地开发、编译和调试一个大型程序的每个部分,并将每个完成的代码块放在它自己的文件中以备以后使用,而无须再担心其细节。我们可以开发静态方法库以供其他程序使用,将它们保存在本身的文件中,并且可以在其他程序中使用这些方法。你已经使用过的例子有Java的Math库和我们用于输入/输出的Std*库。更重要的是,你很快就能发现定义自己的库也非常容易。定义库并且在多个程序中使用它们的能力是我们构建程序来实现复杂任务的能力的关键组成部分。

刚刚在2.1节中,我们从把Java程序当作一系列语句,转换到了把Java程序当作一个包含了一组静态方法(其中一个是main())的类。在本节,你要做好准备把Java程序看作一组类(class),每个类都是由一组方法组成的独立模块。由于每个方法都可以调用另一个类中的方法,所以所有代码都可以互相调用来进行交互,并且组合在一起形成一个复杂的网。通过这种能力,你可以考虑在编程时通过将编程任务分解为可独立实施和测试的类,来降低编程的复杂程度。 ...

Get 计算机科学导论:跨学科方法 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.