全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-09 6 分钟 ✍️ juanwangdev

方法的定义与调用

方法是将代码封装成可重复使用的功能单元。

方法概念

什么是方法

方法是一段完成特定功能的代码块,可被重复调用。

Java
// 方法的作用
// 1. 封装功能代码
// 2. 提高代码复用性
// 3. 简化程序结构
// 4. 便于维护和修改

方法定义语法

基本格式

Java
修饰符 返回类型 方法名(参数列表) {
    // 方法体
    return 返回值;  // 如果有返回值
}

示例定义

Java
// 无参无返回值方法
public void sayHello() {
    System.out.println("Hello!");
}

// 有参无返回值方法
public void greet(String name) {
    System.out.println("Hello, " + name);
}

// 有参有返回值方法
public int add(int a, int b) {
    return a + b;
}

方法定义组成

修饰符

控制方法的访问权限和其他特性。

Java
// 常用修饰符
public      // 公共,任意访问
private     // 私有,仅本类访问
protected   // 受保护,子类可访问
static      // 静态方法,类级别
final       // 不能被重写

返回类型

方法执行后返回的数据类型。

Java
// 返回类型
void        // 无返回值
int         // 返回int
String      // 返回String
boolean     // 返回boolean
double      // 返回double
自定义类型   // 返回对象

方法名

方法的标识符,遵循命名规范。

Java
// 方法命名规范
// 1. 小驼峰命名:第一个单词小写,后续单词首字母大写
// 2. 见名知意:方法名描述功能
// 3. 常用动词开头:get、set、add、remove、print、calculate等

// 正确命名
public void calculateSum() { }
public String getName() { }
public void printResult() { }

// 不推荐命名
public void a() { }        // 无意义
public void Calculate() { } // 首字母大写不规范

参数列表

方法接收的外部数据。

Java
// 无参数
public void method() { }

// 单个参数
public void method(String name) { }

// 多个参数
public void method(String name, int age) { }

// 参数类型可以是任意类型
public void process(int[] arr) { }
public void handle(List<String> list) { }

方法调用

调用语法

Java
// 调用实例方法:对象名.方法名(参数)
Calculator calc = new Calculator();
int result = calc.add(5, 3);

// 调用静态方法:类名.方法名(参数)
int max = Math.max(10, 20);

调用示例

Java
public class Calculator {
    
    public int add(int a, int b) {
        return a + b;
    }
    
    public void printResult(int result) {
        System.out.println("结果: " + result);
    }
    
    public static int multiply(int a, int b) {
        return a * b;
    }
}

// 调用实例方法
Calculator calc = new Calculator();
int sum = calc.add(10, 20);  // 30
calc.printResult(sum);       // 输出:结果: 30

// 调用静态方法
int product = Calculator.multiply(5, 4);  // 20
// 或
int product2 = calc.multiply(5, 4);  // 也可通过对象调用(不推荐)

同类方法调用

Java
public class Test {
    
    public void methodA() {
        methodB();  // 直接调用同类方法
        this.methodB();  // 也可用this
    }
    
    public void methodB() {
        System.out.println("methodB");
    }
    
    public static void staticA() {
        staticB();  // 静态方法调用静态方法
        // methodB();  // 错误:静态不能直接调用实例方法
    }
    
    public static void staticB() {
        System.out.println("staticB");
    }
}

方法定义完整示例

无参无返回值方法

Java
public void showInfo() {
    System.out.println("这是一个示例方法");
}

// 调用
showInfo();

有参无返回值方法

Java
public void printSum(int a, int b) {
    int sum = a + b;
    System.out.println("和: " + sum);
}

// 调用
printSum(5, 3);  // 输出:和: 8

无参有返回值方法

Java
public int getCurrentYear() {
    return 2026;
}

// 调用
int year = getCurrentYear();

有参有返回值方法

Java
public int getMax(int a, int b) {
    if (a > b) {
        return a;
    }
    return b;
    // 或:return a > b ? a : b;
}

// 调用
int max = getMax(10, 20);  // 20

多参数方法

Java
public double calculateAverage(int a, int b, int c) {
    return (a + b + c) / 3.0;
}

// 联系
double avg = calculateAverage(10, 20, 30);  // 20.0

数组参数方法

Java
public int sumArray(int[] arr) {
    int sum = 0;
    for (int num : arr) {
        sum += num;
    }
    return sum;
}

// 调用
int[] nums = {1, 2, 3, 4, 5};
int total = sumArray(nums);  // 15

方法的执行流程

调用执行过程

Java
public class Demo {
    public static void main(String[] args) {
        int result = add(5, 3);  // 1. 调用add方法
        System.out.println(result);  // 4. 继续执行main
    }
    
    public static int add(int a, int b) {
        // 2. 进入add方法
        int sum = a + b;  // 3. 计算
        return sum;  // 4. 返回结果,回到调用处
    }
}

方法调用栈

Java
调用顺序:
main() → add() → 返回main()

栈结构(先进后出):
add()    ← 执行完弹出
main()   ← 继续执行

方法设计原则

单一职责

一个方法只做一件事。

Java
// 好的设计:职责单一
public int calculateSum(int[] arr) {  // 只计算和
    int sum = 0;
    for (int num : arr) {
        sum += num;
    }
    return sum;
}

public void printResult(int value) {  // 只打印
    System.out.println(value);
}

// 不好的设计:职责混杂
public void calculateAndPrint(int[] arr) {  // 计算和打印混在一起
    int sum = 0;
    for (int num : arr) {
        sum += num;
    }
    System.out.println(sum);
}

方法命名清晰

text
// 清晰命名
public boolean isEmpty(String str) { }  // 一眼知道功能
public int getLength(String str) { }
public String formatName(String name) { }

// 不清晰命名
public boolean check(String str) { }    // 不知道检查什么
public int process(String str) { }       // 不知道处理什么

要点总结

  • 方法是封装代码的功能单元
  • 定义格式:修饰符 返回类型 方法名(参数) {方法体}
  • void表示无返回值
  • return返回结果并结束方法
  • 方法名小驼峰命名,见名知意
  • 调用实例方法:对象名.方法名()
  • 调用静态方法:类名.方法名()
  • 同类方法可直接调用
  • 静态方法不能直接调用实例方法
  • 方法调用遵循栈结构(先进后出)
  • 单一职责:一个方法只做一件事
  • 方法命名要清晰描述功能

📝 发现内容有误?点击此处直接编辑

← 上一篇 方法的参数传递
下一篇 → 方法的返回值
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库