前言
所谓方法是什么呢?在Java中方法就是一个代码片段,能模块化的组织代码,能做带代码的反复使用,能在多个位置使用,让代发能够更好的理解和更简单,可以直接调用现有的方法开发,不必再重复去写相同功能代码。
一、方法的定义
注意
1.修饰符:这里使用public static 搭配;
2.返回值类型:必须与返回实体类型一致,如果没有返回值,定义方法时,返回类型必须使用void;
3.方法命名方式:小驼峰形式;
4.参数类表:如果有参数,需要指定参数类型,多个参数之间需要用逗号隔开,如若没有参数,则直接写( );
5.方法体:方法内部需要执行的语句;
6.Java中,方法必须存在于类中,方法不能嵌套使用,没有生命方法的说法。
二、方法的调用
过程:
代码示例:
注意
1.定义一个方法时,不会执行方法的代码,只有方法被调用时才会执行;
2.一个方法可以被多次调用,一个类里可以有多种方法;
2.1实参和形参的关系
形参:形参只是方法中被借助的一个变量,用来保存方法被调用时传递过来的值。形参的名字可以随意取,对方法没有任何影响。
实参:实参是调用方法是传递给形参的值,相当于实参的值永远拷贝再形参中。
实参和形参本质上是两个实体,代码(示例):
上述代码可以发现,形参x和y的值发生改变,但是在main方法中i和t的值并没有改变,因为实参i和t是main方法中的两个变量,而形参x和y是nUM方法中的两个变量,两者存储变量的空间不同,因此两者的变量没有任何关系,只是在调用nUM这个方法时,将实参i和t中的值拷贝了一份传递给形参x和y。
2.2没有返回值的方法
方法的返回值是可以选择的
代码示例:没有形参
代码示例:有形参
三、方法的重载
3.1.方法的重载概念
现实生活中,我们说话常常会出现一词多义的情况,比如方便,具体的含义需要根据不同的场合描述,而在Java中,如果出现这种一词多义的情况,也就是多个方法的方法名相同,但是参数列表不同,我们就称这几种方法被重载了。
注意
1.方法名必须相同;
2.参数列表必须不同(参数个数不同,参数类型不同,类型顺序不同);
3.与参数返回类型是否相同无关,且只有返回类型不同的方法不能叫方法重载。
代码示例:
3.2方法签名
说完方法重载,我们会有一个疑问——在同一个作用领域不能定义两个相同名称的标识符,但为什么类中就可以定义方法名相同的方法呢?
这就是我们要说的方法签名——它是经过编译器编译时修改之后方法的最终名字。
构成的完整的方法名字:方法全路径名+参数列表+返回值类型
查看方式:
1.先对工程进行编译生成class字节码文件
2.打开cmd命令行;
3.控制台cmd查看文件所在目录
4.输入:javap_v字节码文件名即可
四、递归
4.1递归的概念
递归:一个方法在执行中调用自身就称为递归。
递归的难点在于找到递归起始条件和递归公式。
下面通过代码来示例:
4.2递推执行过程
递归要先清楚方法的执行过程,尤其是方法执行结束之后,回到调用位置继续往下执行。
代码示例:
总结
本章主要介绍了方法的定义、使用、重载的递归的概念,方法的调用可以方便我们的对于重复功能程序的编写,递归的使用需要看情况使用,还要找到起始条件和递归公式,方法重载则需要注意方法名和参数列表。