登录/注册
🐳 我就是我🐳
2618
占位
1
占位
0
浏览量
占位
粉丝
占位
关注
【JavaSE】方法的使用--05
🐳 我就是我🐳
2023-06-02 07:12:52 2023-06-02
0
0

目录

一、方法的概念与使用

1.1 什么是方法

1.2 方法的定义

1.3 方法调用的执行过程

1.4 实参和形参的关系(重要)

1.5 有无返回值的方法

二、方法的重载

2.1 方法重载的概念

2.2 方法重载的要求

2.3 方法签名

前言:

之前很久没写这方面的博客了,今天跟大家一起了解Java的方法的使用,让我们更加熟悉Java代码的编写

一、方法的概念与使用

1.1 什么是方法

       在Java中的方法也就类似于c语言中的函数,也就是把一个功能抽象出来,整理成一个模块,在需要它的时候就传入参数或者不传入参数调用它,则可以调用这个功能了。

方法的概念有以下几个: 1. 是能够模块化的组织代码(当代码规模比较复杂的时候); 2. 做到代码被重复使用, 一份代码可以在多个位置使用; 3. 让代码更好理解更简单; 4. 直接调用现有方法开发,不必重复造轮子。

1.2 方法的定义

方法定义的语法:

举个栗子:

【注意事项】 1.在现阶段修饰符一般使用public static的搭配; 2.在有返回值的方法中返回值的数据类型应该与方法的返回值类型相对应,如果没有返回值,返回值类型就填void; 3.方法名:用小驼峰命名; 4.如果这个方法中不需要传入参数则()中可以为空,如果有多个则用逗号隔开; 5.在Java中,方法不可以嵌套定义,但是可以嵌套调用,没有方法声明了(只要方法定义在类里面就可以了)。

1.3 方法调用的执行过程

【注意事项】 1.方法在定义的时候,是不会被执行的,只有在被调用的时候才会执行; 2.一个方法可以被调用多次。

1.4 实参和形参的关系(重要)

【注意事项】 在Java中,实参的值永远是拷贝在实参中,实参和形参的本质是两个实体。(一句话表达就是形参是实参的一份临时拷贝)

【原因分析】 main方法中的两个变量x和y实参,其空间在main方法的栈(一块特殊的内存空间)中,而是swap方法中的x和y是两个形参变量,swap中的x和y的空间在swap方法运行时的栈中,因此:实参x和y 与 形参x和y是两个没有任何关联性的变量,在 swap方法调用时,只是将实参x和y中的值拷贝了一份传递给了形参x和y,因此对形参x和y操作不会对实参x和y产 生任何影响。

1.5 有无返回值的方法

方法的返回值就是 有 和 没有 两种情况,这两种情况都是按方法需要而定的,并不要求哪个方法一定要有返回值,哪个方法一定不能没有返回值。

如果方法有返回值时,则方法的 返回值类型 必须和 方法中要返回的类型一致 如果方法没有返回值时,该方法的返回类型应该写void,并且该方法中不能有 return;

二、方法的重载

2.1 方法重载的概念

Java

中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了

举个栗子:以下三个方法就是重载的

2.2 方法重载的要求

【注意事项】 1. 方法名必须相同 2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同) 3. 与返回值类型是否相同无关

2.3 方法签名

在同一个作用域中不能定义两个相同名称的标识符;比如:同一个方法中不能定义两个名字一样的变量

但是为什么类中就可以定义方法名相同的方法呢?

这里就跟方法签名有关系了,方法签名即:

经过编译器编译修改过之后方法最终的名字。

具体方式:方法全路径名+参数列表+返回值类型,构成方 法完整的名字。

举个栗子: 

public class TestMethod {
public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static void main(String[] args) {
add(1,2);
add(1.5, 2.5);
}
}

上述代码经过编译之后,然后使用JDK自带的javap反汇编工具查看,具体操作: 1. 先对工程进行编译生成.class字节码文件 2. 在控制台中进入到要查看的.class所在的目录 3. 输入:javap -v 字节码文件名字即可

方法签名中的一些特殊符号说明:

暂无评论