Java 方法超详细整理,从入门到精通

发布时间:2026/6/17 13:20:36
Java 方法超详细整理,从入门到精通
方法也被称作函数是实现独立功能的代码块。合理使用方法可以拆分臃肿代码、提升代码复用性与可维护性。本文结合案例依次讲解方法介绍、定义调用、执行流程、有参 / 有返回值方法、通用格式、使用注意事项以及方法重载最后补充 IDEA AI 插件相关内容零基础也能全面掌握适合学习、练习与面试复习。一、方法的介绍1.1 什么是方法方法是一段具备独立功能的代码块核心特点不调用不执行。1.2 使用方法的好处在实际开发中如果将所有业务代码都写在main方法中代码会极度臃肿、难以阅读和维护。使用方法可以按照功能对代码进行拆分管理代码解耦将不同功能拆分为独立方法结构清晰提高复用性同一功能只需编写一次多处直接调用不用重复编码便于维护后期修改、排查问题时可快速定位对应功能代码。1.3 示例对比未使用方法代码堆砌可读性差public class Shop { public static void main(String[] args) { // 查看全部商品50行代码 // 上架商品50行代码 // 下架商品50行代码 // 修改商品50行代码 } }使用方法按功能拆分结构清晰public class Shop { public static void main(String[] args) { // 直接调用对应方法即可执行功能 showGoodsInfo(); addGoods(); deleteGoods(); updateGoods(); } /** 查看全部商品 */ public static void showGoodsInfo(){ } /** 上架商品 */ public static void addGoods(){ } /** 下架商品 */ public static void deleteGoods(){ } /** 修改商品 */ public static void updateGoods(){ } }1.4 小结方法是独立功能代码块只有被调用才会执行使用方法能简化代码结构、提升复用性与后期维护效率。二、方法的基本定义和调用2.1 无参无返回方法格式定义格式public static void 方法名() { // 方法体实现具体功能的代码 }方法名遵循小驼峰命名法做到见名知意void表示该方法没有返回值。调用格式方法名();2.2 实战案例需求定义方法内部声明两个整数通过三元运算符求出最大值并打印。public class MethodDemo { public static void main(String[] args) { // 调用方法 getMax(); } // 定义求两个整数最大值的方法 public static void getMax() { int num1 10; int num2 20; int max num1 num2 ? num1 : num2; System.out.println(最大值为 max); } }运行结果最大值为20三、方法的执行流程3.1 内存分布说明方法区.class字节码文件加载时所有方法的代码都会存入方法区常驻内存栈内存方法被调用时会进入栈内存运行方法执行完毕立即从栈中弹出释放空间。3.2 普通方法调用流程public class MethodRunDemo1 { public static void main(String[] args) { System.out.println(开始); getMax(); System.out.println(结束); } public static void getMax() { int num1 10; int num2 20; int max num1 num2 ? num1 : num2; System.out.println(max); } }执行顺序main方法优先入栈执行System.out.println(开始)遇到getMax()调用getMax方法入栈执行内部所有代码getMax执行完毕弹出栈回到main方法继续执行后续代码main方法全部执行完成程序结束。3.3 方法嵌套调用流程一个方法内部可以调用其他方法形成嵌套调用public class MethodRunDemo2 { public static void main(String[] args) { study(); } public static void study(){ eat(); System.out.println(学习); sleep(); } public static void eat(){ System.out.println(吃饭); } public static void sleep(){ System.out.println(睡觉); } }运行结果吃饭 学习 睡觉执行逻辑main→study→eat执行完出栈→ 回到study→sleep执行完出栈→study出栈 →main出栈。3.4 小结方法代码存放在方法区调用时进入栈内存执行执行完毕自动出栈多个方法嵌套调用遵循「后进先出」规则。四、带参数的方法4.1 为什么需要参数无参方法内部数据固定功能死板。添加参数可以在调用时传入不同数据让方法具备通用性、灵活性。4.2 格式说明定义格式public static void 方法名(数据类型 变量名1, 数据类型 变量名2...) { // 方法体 }括号内的变量称为形式参数形参仅用于定义方法接收外部传入的数据。调用格式方法名(实际参数1, 实际参数2...);调用时传入的数据称为实际参数实参实参会赋值给对应的形参。4.3 代码示例改写求最大值方法支持传入任意两个整数public class ParamMethodDemo { public static void main(String[] args) { // 传入实参 10、20 getMax(10, 20); // 传入实参 30、40复用同一个方法 getMax(30, 40); } // 定义带两个形参的方法 public static void getMax(int num1, int num2) { int max num1 num2 ? num1 : num2; System.out.println(最大值为 max); } }运行结果最大值为20 最大值为404.4 小结形参方法定义时声明的变量实参方法调用时传入的真实数据。带参方法大幅提升代码灵活性。五、带返回值的方法5.1 为什么需要返回值如果一个方法的计算结果需要被其他方法继续使用就必须使用带返回值方法通过return关键字将结果返回至方法调用处。5.2 格式说明定义格式public static 返回值类型 方法名(参数列表) { // 方法体 return 结果数据; }返回值类型必须和return后的数据类型保持一致return终止方法并将数据返回。调用方式直接调用不接收返回值结果直接丢弃方法名(实参);变量接收推荐可后续复用结果数据类型 变量 方法名(实参);5.3 代码示例定义求和方法将计算结果返回给调用处使用public class ReturnMethodDemo { public static void main(String[] args) { // 接收方法返回的结果 int sum add(10, 20); // 对返回结果做二次判断 System.out.println(两数之和是否为偶数 (sum % 2 0)); } // 带返回值的求和方法 public static int add(int a, int b) { int res a b; // 将结果返回 return res; } }运行结果两数之和是否为偶数true5.4 小结return负责把方法内部数据返回到调用位置需要复用方法执行结果时必须使用带返回值方法。六、方法通用定义格式6.1 完整通用格式public static 返回值类型 方法名(参数列表) { 方法体; return 数据; }6.2 定义方法两大核心原则明确参数分析方法运行需要哪些外部数据确定参数的类型与个数明确返回值分析方法执行完毕后是否需要向外返回结果。有结果就写对应数据类型无结果使用void。6.3 调用规则void无返回值方法直接调用即可有返回值方法推荐使用变量接收返回结果方便后续使用。6.4 综合案例需求 1定义方法计算两个小数的和并返回需求 2定义方法计算三个整数的最小值并返回需求 3定义方法打印用户个人信息无返回值。public class GeneralMethodDemo { public static void main(String[] args) { // 调用小数求和方法 double dSum addDouble(2.5, 3.5); System.out.println(小数和 dSum); // 调用三数取最小值方法 int min getMin(12, 8, 20); System.out.println(最小值 min); // 调用打印信息方法 printInfo(张三, 22, 175.5, 男); } // 1. 计算两个小数的和 public static double addDouble(double a, double b) { return a b; } // 2. 计算三个整数的最小值 public static int get(int a, int b, int c) { int temp a b ? a : b; return temp c ? temp : c; } // 3. 打印个人信息无返回值 public static void printInfo(String name, int age, double height, char gender) { System.out.println(姓名 name); System.out.println(年龄 age); System.out.println(身高 height); System.out.println(性别 gender); } }七、方法注意事项方法不调用就不执行方法定义后必须主动调用内部代码才会运行方法平级不能嵌套定义方法与方法之间是并列关系不允许在一个方法内部定义另一个方法编写顺序与执行顺序无关类中方法的先后位置不会影响程序执行void 方法的 return 规则void表示无返回值可以省略return若手动写return后面不能跟具体数据仅用于终止方法return 后代码无效return语句下方编写的代码永远不会执行编译器会报错。错误示例// 错误1void方法return后带数据 public static void test1(){ return 100; } // 错误2return后编写有效代码 public static void test2(){ return; System.out.println(无效代码); }八、方法重载Overload8.1 为什么需要方法重载如果实现相似功能却定义多个不同方法名会增加记忆成本。方法重载可以在同一个类中定义多个同名方法依靠参数区分不同逻辑。8.2 重载判定规则同一个类中方法名相同参数列表不同即为方法重载。参数不同包含三种情况参数个数不同参数类型不同参数顺序不同不同类型参数调换顺序。重点判断重载和返回值无关仅看方法名与参数列表。8.3 代码示例以加法为例实现多个重载方法public class OverloadDemo { public static void main(String[] args) { add(10,20); // 调用两个整数相加 add(10.5,20.5); // 调用两个小数相加 add(1,2,3); // 调用三个整数相加 } // 两个整数相加 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 add(int a, double b){} public static void add(double a, int b){} }8.4 常见错误不构成重载仅返回值不同方法名、参数完全一致仅修改返回值不是重载仅参数变量名不同参数类型、个数、顺序全部一致只是变量名不同不是重载不同类中的同名方法不在同一个类不满足重载条件。8.5 重载的好处无需记忆大量不同的方法名同类功能统一使用一个方法名调用简单、可读性强。日常System.out.println()就是典型的方法重载。8.6 小结方法重载同类、同名、参数不同和返回值无关核心作用是统一方法名降低使用与记忆成本。九、IDEA 安装 AI 插件在主流开发工具 IDEA 中可以安装 AI 辅助插件提升编码效率这里推荐阿里巴巴通义灵码插件作用智能补全代码、生成注释、排查简单错误、解读代码辅助日常开发获取地址下载和安装-通义灵码使用方式下载后按照指引在 IDEA 中安装启用即可。十、全文总结方法基础方法是独立功能代码块不调用不执行核心作用是拆分代码、提升复用性定义与调用分为无参、有参、无返回、有返回方法分清形参与实参执行流程方法代码存于方法区调用时入栈执行执行完毕出栈通用格式定义方法先明确参数和返回值void代表无返回值使用规范方法不能嵌套定义return语句后不能编写代码方法重载同类同名、参数不同即为重载和返回值无关简化调用拓展可借助 IDEA AI 插件提升编码效率。方法是 Java 编程的核心基础后续面向对象、集合、框架等知识点都会大量使用方法建议多编写不同场景的案例熟练掌握定义、调用与重载规则。