滚雪球学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编程,就像滚雪球一样,越滚越大,指数级提升。

目录
相关文章
|
6天前
|
Java 数据库连接
Java中的内存泄漏排查与预防方法
Java中的内存泄漏排查与预防方法
|
5天前
|
缓存 算法 Java
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
Java面试题:深入探究Java内存模型与垃圾回收机制,Java中的引用类型在内存管理和垃圾回收中的作用,Java中的finalize方法及其在垃圾回收中的作用,哪种策略能够提高垃圾回收的效率
12 1
|
5天前
|
存储 算法 Java
Java面试题:深入探究Java内存模型与垃圾回收机制,解释JVM中堆内存和栈内存的主要区别,谈谈对Java垃圾回收机制的理解,Java中的内存泄漏及其产生原因,如何检测和解决内存泄漏问题
Java面试题:深入探究Java内存模型与垃圾回收机制,解释JVM中堆内存和栈内存的主要区别,谈谈对Java垃圾回收机制的理解,Java中的内存泄漏及其产生原因,如何检测和解决内存泄漏问题
11 0
|
4天前
|
缓存 Prometheus 监控
Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
25 3
|
5天前
|
缓存 监控 算法
Java面试题:讨论JVM性能调优的常见方法和技巧。
Java面试题:讨论JVM性能调优的常见方法和技巧。
10 1
|
7天前
|
Java Spring
使用Java实现自定义注解的方法与技巧
使用Java实现自定义注解的方法与技巧
|
4天前
|
存储 设计模式 监控
Java面试题:简述JVM的内存结构,包括堆、栈、方法区等。栈内存优化的方法有 哪些?
Java面试题:简述JVM的内存结构,包括堆、栈、方法区等。栈内存优化的方法有 哪些?
15 0
|
10月前
|
Java
JAVA方法的定义
JAVA方法的定义
47 0
|
18天前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
15 1
|
2月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
29 1