滚雪球学Java(34):探究Java方法的神奇魔法和参数传递奥秘

简介: 【5月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!


前言

  在Java中,方法是一组执行特定任务的语句。通过方法,可以将代码分成模块,使代码更加清晰和易于维护。Java方法是在类中定义的,方法具有返回类型、名称和参数列表。

方法的定义

Java方法的基本结构如下:

<访问修饰符> <返回类型> <方法名>(<参数列表>) {
   
   
    // 方法体
    return <返回值>;
}

  其中,访问修饰符可以是public、private或protected;返回类型可以是任何Java数据类型,或者void;方法名是由字母、数字和下划线组成的标识符;参数列表是由逗号分隔的一组参数,每个参数由类型和名称组成。

例如,下面是一个简单的Java方法,它把两个整数相加,并返回结果:

public int add(int num1, int num2) {
   
   
    int result = num1 + num2;
    return result;
}

方法的调用

  要使用Java方法,必须先创建一个类的实例。然后,可以使用实例名称后跟一个点号和方法名称来调用方法。例如,如果已经创建了一个名为myClass的类的实例,并且该类包含一个名为myMethod的方法,则可以使用以下语法调用该方法:

myClass.myMethod(<参数列表>);

例如,要使用之前定义的add()方法,可以使用以下语法:

int sum = add(3, 4);

参数传递

Java方法参数传递基本上分为值传递和引用传递两种形式。

值传递

  值传递是指当我们将一个基本数据类型(如int、double等)作为参数传递给一个方法时,实际上传递给方法的是该值的一份拷贝。因此,在方法中对该参数进行修改不会影响原始变量。

例如,以下代码会将变量num的值从5改为10:

public void changeNum(int num) {
   
   
    num = 10;
}

int num = 5;
changeNum(num);
// num的值仍为5

引用传递

  引用传递是指当我们将一个对象作为参数传递给一个方法时,实际上传递给方法的是该对象在内存中的地址。因此,在方法中对该参数进行修改会影响原始对象。

例如,以下代码会将list中的第一个元素的值从3改为5:

public void changeList(List<Integer> list) {
   
   
    list.set(0, 5);
}

List<Integer> list = new ArrayList<>();
list.add(3);
changeList(list);
// list的第一个元素的值为5

方法重载

  方法重载是指在同一个类中定义多个方法,这些方法具有相同的名称但参数列表不同。当代码调用具有重载名称的方法时,编译器根据传递的参数类型和数量选择正确的方法。

例如,以下示例定义了两个名为add()的方法,一个接受两个整数作为参数,另一个接受两个双精度浮点数作为参数:

public int add(int num1, int num2) {
   
   
    int result = num1 + num2;
    return result;
}

public double add(double num1, double num2) {
   
   
    double result = num1 + num2;
    return result;
}

int sum1 = add(3, 4);
double sum2 = add(2.5, 3.0);

总结

  Java方法是一组执行特定任务的语句,可以将代码分成模块,使代码更加清晰和易于维护。Java方法可以具有返回类型、名称和参数列表。方法的调用基于类的实例,并使用实例名称后跟一个点号和方法名称的语法。Java方法参数传递基本上分为值传递和引用传递两种形式。方法重载是指在同一个类中定义多个方法,这些方法具有相同的名称但参数列表不同。

附录源码

  如上涉及所有源码均已上传同步在 Gitee,提供给同学们一对一参考学习,辅助你更迅速的掌握。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

目录
相关文章
|
1月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
191 46
|
2月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
202 0
|
2月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
119 0
|
2月前
|
安全 Java
JAVA:Collections类的shuffle()方法
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的工具方法,适用于洗牌、抽奖等场景。该方法直接修改原列表,支持自定义随机数生成器以实现可重现的打乱顺序。使用时需注意其原地修改特性及非线程安全性。
130 0
|
2月前
|
算法 安全 Java
java中Collections.shuffle方法的功能说明
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,常用于洗牌、抽奖等场景。可选 `Random` 参数支持固定种子以实现可重复的随机顺序。方法直接修改原列表,无返回值。
116 0
|
2月前
|
Java 程序员 项目管理
Java 程序员不容错过的 Git Flow 全套学习资料及应用方法详解 Git Flow
本文详细介绍了Git Flow技术方案及其在Java项目中的应用实例,涵盖分支管理、版本发布与紧急修复流程,帮助开发者掌握高效的代码管理方法,提升团队协作效率。附示例操作及代码下载链接。
79 0
|
2月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
124 1
|
11天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
46 0
|
24天前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
57 16