![4d1578303fa25f5670123bb00d795b5f.png](https://img-blog.csdnimg.cn/img_convert/4d1578303fa25f5670123bb00d795b5f.png)
方法是Java学习中的一大重点,也是以后最为常用的一个知识点。
方法就是处理功能的代码段。
方法的特点:
- 方法不能嵌套,定义在类的方法外
- 方法不调用不执行
一、定义/语法格式
1.有返回值类型的方法
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,.....){
处理功能的代码段;
return 返回的结果
}
- 修饰符: 访问权限修饰符,先默认为public static
- 返回值类型: 用于限定方法返回值的数据类型
- 方法名:方法的名字 调用方法的时候需要根据方法名
- 参数类型:用于限定调用方法时传入参数的数据类型
- 参数名:是一个变量,用于接收调用方法时传入的数据
- return关键字:用于结束方法以及返回方法指定类型的值
- 返回值:被return语句返回的值,该值会返回给调用者
2.无返回值类型的方法
修饰符 void 方法名(参数类型 参数名1,参数类型 参数名2,.....){
处理功能的代码段;
[return] 可以选择性添加
}
举例:
![f03e10350e42e2d7a0a3869bbbd070b7.png](https://img-blog.csdnimg.cn/img_convert/f03e10350e42e2d7a0a3869bbbd070b7.png)
运行结果:
![9ca24273e660d0cc48842f5369c8843d.png](https://img-blog.csdnimg.cn/img_convert/9ca24273e660d0cc48842f5369c8843d.png)
二、方法的调用
![c50020cbaa63fb523a4f646d8b27e323.png](https://img-blog.csdnimg.cn/img_convert/c50020cbaa63fb523a4f646d8b27e323.png)
从上图中可以看出,在程序运行期间,参数x和y相当于在内存中定义的两个变量。 当调用getArea()方法时,传入的参数3和5分别赋值给变量x和y,并将x*y的结果通过return语句返回,整个方法 的调用过程结束。
三、方法的重载
1.定义:一个类中多个方法,方法名相同,参数列表|方法签名不同不同,这些方法就构成方法的重载特性
- 方法签名: 方法名+参数列表 方法名(参数)
- 参数列表不同:参数的类型不同、参数的个数不同、不同类型的参数的位置|顺序不同
- 重载方法与修饰符无关、与返回值类型|有无返回值无关、与参数的名字无关
![2f835269bccefa330a6caebd503e1556.png](https://img-blog.csdnimg.cn/img_convert/2f835269bccefa330a6caebd503e1556.png)
![1491edf7444eab312cfaebfa1c2f44d5.png](https://img-blog.csdnimg.cn/img_convert/1491edf7444eab312cfaebfa1c2f44d5.png)
![bb5df2e03b3046e13bf6b45f2f926e81.png](https://img-blog.csdnimg.cn/img_convert/bb5df2e03b3046e13bf6b45f2f926e81.png)
从上述代码可以看出,程序需要针对每一种求和的情况都定义一个方法,如果每个 方法的名称都不相同,在调用时就很难分清哪种情况该调用哪个方法。为了解决这个问题,Java允许在一个类中定义多个名称相同的方法,但是参数的类 型或个数必须不同,这就是方法的重载。