4.3 添加方法

此时你应该已经猜到了,在一个类中可定义多个方法,如下例所示:

  1. public class NewLine {
  2. public static void newLine() {
  3. System.out.println();
  4. }
  5. public static void main(String[] args) {
  6. System.out.println("First line.");
  7. newLine();
  8. System.out.println("Second line.");
  9. }
  10. }

类名为 NewLine。根据约定,类名的首字母要大写。NewLine 包含两个方法:newLinemain。别忘了,Java 区分大小写,因此 NewLinenewLine 不是一回事。

方法名的首字母应小写,并采用“骆驼拼写法”,即类似于 jammingWordsTogetherLikeThis 这样的格式。可给方法指定任何名称,但 main 和其他 Java 关键词除外。

newLinemain 是公有的,这意味着可在其他类中调用。它们都是静态的,那么静态是什么意思呢?现在暂时无法解释。另外,它们的返回类型都是 void,这意味着它们不会像 Math 类的方法那样返回结果。

方法名后面的括号包含了一个变量列表,这些变量被称为形参(parameter),用于存储方法的实参。main 只有一个名为 args 的形参,类型为 String[],这意味着调用这个 main 方法时,必须提供一个字符串数组(将在本书的后面介绍)。

由于 newLine 没有形参,所以调用时不需要提供实参,如在 main 方法中的调用所示。另外,由于 newLinemain 位于同一个类中,因此在 main 中调用 newLine 时无需指定类名。

这个程序的输出如下:

  1. First line.
  2. Second line.

注意,输出行之间有空行。如果要想让输出行相距得更远,可多次调用方法 newLine

  1. public static void main(String[] args) {
  2. System.out.println("First line.");
  3. newLine();
  4. newLine();
  5. newLine();
  6. System.out.println("Second line.");
  7. }

我们也可以再编写一个显示三个空行的方法:

  1. public static void threeLine() {
  2. newLine();
  3. newLine();
  4. newLine();
  5. }
  6. public static void main(String[] args) {
  7. System.out.println("First line.");
  8. threeLine();
  9. System.out.println("Second line.");
  10. }

可以多次调用同一个方法,还可以在一个方法中调用另一个方法。在这个示例中,方法 main 调用了方法 threeLine,而方法 threeLine 调用了 newLine

初学者常常对不厌其烦地创建新方法心存疑惑。这样做的原因很多,这个示例说明了其中的几个原因。

  • 通过创建新方法,你可以给一组语句指定名称,从而让代码更容易阅读和理解。

  • 引入新方法可消除重复的代码,从而缩小程序的规模。例如,要显示 9 个空行,可调用 threeLine 三次。

  • 一种常见的问题解决技巧是将任务划分成子问题。方法让你能够只专注于子问题,然后再将方法组合成完整的解决方案。