JavaSE核心知识点02面向对象编程02-05(方法)
🤟致敬读者
- 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉
📘博主相关
- 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息
文章目录
- JavaSE核心知识点02面向对象编程02-05(方法)
- **一、方法是什么?**
- **二、方法的组成**
- **三、如何定义方法?**
- **1. 无参数、无返回值的方法**
- **2. 带参数、有返回值的方法**
- **3. 多个参数的方法**
- **四、如何调用方法?**
- **1. 调用静态方法(`static`修饰)**
- **2. 调用非静态方法(需要对象实例)**
- **五、方法的重载(Overload)**
- **六、递归方法(Recursion)**
- **七、常见问题解答**
- **1. 方法是否需要返回值?**
- **2. 参数传递是“值传递”还是“引用传递”?**
- **3. 静态方法 vs 非静态方法?**
- **八、总结与练习**
📃文章前言
- 🔷文章均为学习工作中整理的笔记。
- 🔶如有错误请指正,共同学习进步。
JavaSE核心知识点02面向对象编程02-05(方法)
好的!作为 Java 初学者,理解**方法(Method)**是掌握编程的关键一步。方法是 Java 中封装代码逻辑的基本单元,类似于生活中的“工具”或“功能”。下面我会用通俗易懂的方式详细讲解,并附上代码示例。
一、方法是什么?
- 定义:方法是一段有名字的代码块,用于完成特定任务(如计算、数据处理等)。
- 类比:假设榨汁机是一个方法,你放入水果(输入参数),它榨汁(执行代码),返回果汁(返回值)。
- 核心作用:复用代码(避免重复写相同逻辑)、模块化(分解复杂问题)。
二、方法的组成
一个方法由以下部分组成(逐步拆解):
// 示例:计算两数之和的方法
public static int add(int a, int b) { // 方法头(声明)int sum = a + b; // 方法体(具体逻辑)return sum; // 返回值
}
-
修饰符(如
public static
):public
:方法可以被其他类访问。static
:静态方法,可通过类名直接调用(无需创建对象)。
-
返回类型(如
int
):- 方法执行后返回的数据类型(如
int
,String
,void
表示无返回值)。
- 方法执行后返回的数据类型(如
-
方法名(如
add
):- 遵循驼峰命名法(如
calculateSum
,printMessage
)。
- 遵循驼峰命名法(如
-
参数列表(如
(int a, int b)
):- 输入的数据,可以是零个或多个参数,用逗号分隔。
-
方法体(
{}
中的代码):- 实现具体功能的代码逻辑。
-
返回值(如
return sum
):- 必须与声明的返回类型匹配,若返回类型是
void
,则无需return
。
- 必须与声明的返回类型匹配,若返回类型是
三、如何定义方法?
1. 无参数、无返回值的方法
public static void sayHello() {System.out.println("Hello, Java!");
}
2. 带参数、有返回值的方法
// 检查是否为偶数
public static boolean isEven(int number) {return number % 2 == 0;
}
3. 多个参数的方法
// 计算三个数的最大值
public static int max(int a, int b, int c) {int maxValue = a;if (b > maxValue) maxValue = b;if (c > maxValue) maxValue = c;return maxValue;
}
四、如何调用方法?
1. 调用静态方法(static
修饰)
public class Main {public static void main(String[] args) {// 直接通过类名调用静态方法int result = add(3, 5); // 调用示例中的 add 方法System.out.println(result); // 输出 8}public static int add(int a, int b) {return a + b;}
}
2. 调用非静态方法(需要对象实例)
public class Calculator {// 非静态方法public int multiply(int a, int b) {return a * b;}public static void main(String[] args) {// 1. 创建对象Calculator calc = new Calculator();// 2. 通过对象调用方法int product = calc.multiply(4, 5);System.out.println(product); // 输出 20}
}
五、方法的重载(Overload)
- 定义:同一个类中,方法名相同,但参数列表不同(类型、数量、顺序)。
- 作用:提供多种处理方式,简化调用。
public class OverloadDemo {// 重载 add 方法public static int add(int a, int b) {return a + b;}public static double add(double a, double b) {return a + b;}public static int add(int a, int b, int c) {return a + b + c;}public static void main(String[] args) {System.out.println(add(2, 3)); // 调用 int 版本System.out.println(add(2.5, 3.5)); // 调用 double 版本System.out.println(add(1, 2, 3)); // 调用三个参数的版本}
}
六、递归方法(Recursion)
- 定义:方法内部调用自身。
- 关键:必须有一个终止条件,否则会无限递归导致栈溢出。
// 计算 n 的阶乘(n!)
public static int factorial(int n) {if (n == 0 || n == 1) {return 1; // 终止条件} else {return n * factorial(n - 1); // 递归调用}
}public static void main(String[] args) {System.out.println(factorial(5)); // 输出 120(5! = 5×4×3×2×1)
}
七、常见问题解答
1. 方法是否需要返回值?
- 如果方法需要返回结果,用
return
指定返回类型(如int
,String
)。 - 如果只是执行操作(如打印),返回类型设为
void
。
2. 参数传递是“值传递”还是“引用传递”?
- Java 是值传递:方法内修改基本类型参数的值不会影响原始变量;对象类型参数传递的是对象引用的副本(修改对象属性会影响原对象)。
3. 静态方法 vs 非静态方法?
- 静态方法:属于类,通过
类名.方法名()
调用。 - 非静态方法:属于对象,需先创建对象再调用。
八、总结与练习
- 核心要点:
- 方法是封装代码的工具。
- 通过参数接收输入,通过返回值输出结果。
- 学会方法重载和递归。
- 练习:
- 写一个方法,判断一个数是否为素数。
- 写一个方法,反转字符串(如输入 “hello”,返回 “olleh”)。
- 用递归实现斐波那契数列。
通过以上内容,你应该对 Java 方法有了全面的理解。如果遇到问题,可以随时问我!
📜文末寄语
- 🟠关注我,获取更多内容。
- 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
- 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
- 🔵加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
- 🟣点击下方名片获取更多内容🍭🍭🍭👇