首页 > 编程笔记 > Java笔记 阅读:41

Java类成员方法的定义和调用(非常详细)

使用 Java 编程时,我们通常会将某个任务的执行步骤抽象成一个方法,这个方法包含了执行这个任务的所有指令,至于由哪些指令来组成哪些方法则需要我们自己根据实际项目的需求来决定。

定义方法的最大好处是提升代码的复用性和可读性。在复用性方面,我们编写的方法可以被多次使用,从而避免重复编写相同的代码。在可读性方面,将若干指令定义成一个方法,可以从方法层面去理解代码,从而提高代码的可读性。

成员方法是指在 Java 类中除构造方法和主方法外的方法,比如下面是一个成员方法的伪代码,在 Rectangle 类中定义一个名为 calcArea() 的成员方法,该方法包含了若干语句:
class Rectangle {
      ...
      int calcArea() {
              语句1;
              语句2;
              语句3;
              ...
     }
     ...
}

Java成员方法的构成

Java 中的一个成员方法由六要素组成:访问修饰符、非访问修饰符、返回类型、方法名、参数列表以及方法体,如下图所示。


图 1 成员方法的构成

这些要素中有些是必需的,有些则可以根据实际情况省略。下面对这 6 个要素分别进行介绍。

1) 访问修饰符用于声明方法的访问类型,访问类型决定了方法的可见性。Java 提供了以下 4 种不同的访问修饰符:
2) 非访问修饰符,用于表示方法的特性,对于一个方法来说非访问修饰符并非必需的,包括以下三种:
3) 返回类型,表示方法返回的数据类型,可以是 Java 合法的任意数据类型,如果无须返回数据则使用 void 关键字。

4) 方法名,它是方法的标识符,建议它的命名是有意义的。同时它与参数列表的组合必须保证是唯一的,比如“test()”和“test(int i)”是允许同时存在的,因为虽然它们的方法名相同,但是与参数列表的组合不相同。

5) 参数列表,表示调用该方法时需要传入的所有参数,这些参数由逗号分隔并由一对括号括起来,每个参数定义都包含了数据类型和变量名。如果某个方法无须传入任何参数,那么只剩一对括号即可。

6) 方法体,方法体里是方法的所有执行指令,它通过大括号将这些执行指令包围起来。

Java成员方法的定义

定义一个方法的语法如下:
访问修饰符 非访问修饰符 返回类型 方法名(参数列表) {
   方法体
}

根据上面的定义我们重新看上一个示例,如下图所示:


图 2 方法的定义

该方法定义了一个加法操作,其中 public 访问修饰符声明该方法可以供所有类访问,static 修饰符表示它是一个静态方法,int 说明该方法返回值的类型为整型,addition 是该方法的名称,(int a, int b) 说明该方法需要传入两个参数,大括号及其包含的所有语句为该方法的方法体。以上便完成了一个方法的定义。

Java成员方法的调用

当我们定义好一个方法后就可以使用它,通常我们用“调用方法”来表述方法的使用。对于某个对象或类,可以通过圆点符号(.)来调用它的方法。调用时需要根据方法定义的参数列表传入所有参数,如果没有定义参数则为一对括号。
对象.方法名(参数列表);
对象.方法名();
类.方法名(参数列表);
类.方法名();
下面是方法调用的示例:
public class Calculator {
    public static int addition(int a, int b) {
        int sum;
        sum = a + b;
        return sum;
    }
    
    public int subtraction(int a, int b) {
        return a - b;
    }
    
    public static void main(String[] args) {
        System.out.println(Calculator.addition(10, 5));
        Calculator calculator = new Calculator();
        System.out.println(calculator.subtraction(20, 10));
    }
}
我们定义了一个 Calculator 类,该类包含了 addition() 和 subtraction() 两个方法:
注意,调用方法时要确保传入的参数值与方法中定义的参数列表的顺序一致。

相关文章