跳到主要内容

Java 方法

本小节我们将学习什么是方法如何自定义方法,并按照分类介绍每种方法的特点,对于有参数的方法传值,会讲到基本数据类型作为方法参数和引用数据类型作为方法参数的区别。也会学习可变参数方法的定义语法和使用场景,方法重载的使用和意义也是本节的重点学习内容。

1. 什么是方法

在前面我们已经了解过方法的概念,Java 程序的入口main()就是一个方法。System.out.println();语句中println()也是一个方法。

如果你使用IntelliJ IDEA查看代码,可以使用Ctrl + 鼠标左键单击代码中的 println()方法,查看 JDK 源码中对于这个方法的定义:

上面的截图就是我们经常调用的老朋友println()方法的代码实现,我们可以将方法理解为一个命名语句块,通过其名称 + 括号运算符()可以调用。我们可以将需要重复编写的代码,封装到一个方法中。提高代码的复用性。

2. 如何定义方法

在 Java 中,定义一个方法的语法为:

访问修饰符 返回类型 方法名(参数列表) {
若干语句;
return 方法返回值;
}

  • 访问修饰符有 4 种情况publicprivateprotected,也可以省略(default)。由于涉及到后面的面向对象相关知识,本节统一使用public修饰方法;
  • 返回类型:可以是任何的数据类型或 void,如果方法没有返回值,返回类型设置为void
  • 方法名:方法名的命名规范和变量相同;
  • 参数列表:参数是变量的一种类型,参数变量的作用域在方法内部;
  • 方法体:方法内部的一些语句。当方法返回值为 void时,可以省略return语句。

3. 分类

根据方法是否带有参数、是否有返回值,可以分为 4 类:

  • 无参无返回值方法
  • 无参带返回值方法
  • 带参数无返回值方法
  • 带参数带返回值方法

3.1 无参无返回值方法

无参无返回值方法,即参数列表为空,返回值为void的方法。例如,我们经常需要输出一段内容。可以将输出语句封装到方法中:

class MethodDemo1 {
// 定义无参无返回值方法
public void printText() {
// 三条输出语句
System.out.println("你好新同学");
System.out.println("Java是就业前景最好的语言");
System.out.println("学Java就来慕课网");
}
}

上面代码,在类MethodDemo1中定义了一个方法printText,其中有一些打印语句。那么如何调用这个方法,让其执行呢?

对于非静态方法(即非static关键字修饰的方法),首先要使用new关键字实例化类,生成一个对象,再通过对象名.方法名()的方式去调动方法。

如下是 MethodDemo1 类方法调用的实例: