一、方法核心知识点
1. 方法的本质
方法就是一段封装好的、能完成特定功能的代码片段,核心作用是提高代码复用性(写一次能多次调用)、让代码结构更清晰。大白话:把 "求和、求最大值、打印内容" 这类重复做的事,打包成一个 "工具",要用时直接调这个工具就行。
2. 方法的完整格式
java
运行
kotlin
[修饰符] 返回值类型 方法名(形式参数列表) {
// 方法体:具体实现功能的代码
return 返回值; // 无返回值时不用写,或只写return;
}
各部分大白话解释:
表格
| 组成部分 | 说明 |
|---|---|
| 修饰符 | 比如 public static,控制方法的访问权限和调用方式(新手先记 static 即可) |
| 返回值类型 | 方法执行完是否要返回结果:✅ 要返回:写结果类型(int/String 等)❌ 不返回:写 void |
| 方法名 | 给方法起名字,见名知意(比如求和叫 add、打印叫 print) |
| 形式参数列表 | 方法执行需要的 "原材料",格式:类型1 参数名1, 类型2 参数名2(可空) |
| 方法体 | 大括号里的代码,是方法具体要做的事 |
| return | 把结果返回给调用者;无返回值时,return; 可用来提前结束方法 |
3. 方法的调用
- 静态方法(带
static):直接写方法名(实际参数)调用(实际参数要和形参匹配); - 非静态方法(无
static):先创建对象,再用对象名.方法名(实际参数)调用(新手先重点记静态方法)。
调用示例(求和方法)
java
运行
csharp
public class TestMethod {
// 定义静态求和方法
public static int add(int num1, int num2) {
return num1 + num2;
}
public static void main(String[] args) {
// 调用方法:传真实参数,接收返回值
int result1 = add(10, 20);
System.out.println(result1); // 输出30
// 直接调用并打印结果
System.out.println(add(30, 50)); // 输出80
}
}
二、方法重载(Overload)
1. 重载的定义
同一个类中 ,方法名完全相同,但形式参数列表不同(满足其一即可):
- 参数个数不同(比如
add(int a)和add(int a, int b)); - 参数类型不同(比如
add(int a, int b)和add(double a, double b)); - 参数顺序不同(比如
add(int a, double b)和add(double a, int b))。
2. 重载的核心规则
- ✅ 必须满足:方法名相同 + 形参列表不同;
- ❌ 和返回值类型无关(比如
int add()和void add()不算重载,会报错); - ❌ 和参数名无关(比如
add(int a)和add(int b)不算重载)。
重载示例(不同参数的求和方法)
java
运行
csharp
public class TestOverload {
// 1. 两个int求和
public static int add(int a, int b) {
return a + b;
}
// 2. 三个int求和(参数个数不同)
public static int add(int a, int b, int c) {
return a + b + c;
}
// 3. 两个double求和(参数类型不同)
public static double add(double a, double b) {
return a + b;
}
public static void main(String[] args) {
System.out.println(add(10, 20)); // 调用第一个方法,输出30
System.out.println(add(10, 20, 30)); // 调用第二个方法,输出60
System.out.println(add(1.5, 2.5)); // 调用第三个方法,输出4.0
}
}
3. 重载的好处
调用方法时不用记多个方法名,只需要记一个核心名字,编译器会根据传入的参数自动匹配对应的方法。大白话:比如求和都叫add,传两个整数就调整数求和的add,传两个小数就调小数求和的add,不用记addInt、addDouble这些名字。
三、总结
- 方法是 "功能代码包",核心作用是复用代码,格式要记住 "修饰符 + 返回值 + 方法名 + 参数 + 方法体";
- 方法调用时,实际参数要和形式参数的个数、类型匹配;
- 方法重载的关键是 "同名不同参"(参数个数 / 类型 / 顺序不同),和返回值无关,能简化方法调用。