1.什么是方法?
若干语句的功能集合。
方法分为定义和调用两个不同阶段。使用又被称为执行、调用。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
2.使用方法的好处
- 将重复代码抽取成方法,方便多次调用
- 一个方法专注完成一件事
3.方法的命名规则
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson
4.方法的定义(define)
标准格式如下:
public static 方法返回类型 方法名称(形参列表) {
...
方法体
...
return 返回值;
}
5.方法的调用
方法的使用中,有以下几个重要的元素:
- 调用哪个方法。方法名称。
- 使用哪些具体的值,进行本次方法调用。
- 调用方法后可能得到的返回值的后续处理,保存或直接再次使用。
方法的调用过程:
一旦遇到方法调用的代码,就会跳转到方法内部执行(同时会把实参的值赋给形参),顺序执行方法内部的代码,方法内部遇到return或者方法执行完毕的时候,代码就会回到调用位置继续执行。
方法的三种调用格式:
- 单独调用:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
注意:
- 方法内部的代码一定是调用了才会执行,如果没有方法调用,方法内部的代码就不会被执行。
- 当返回值类型固定写成void,只能单独调用,不能进行打印调用和赋值调用。
标准格式如下:
//不关心返回值
方法名称(实参列表)
//将返回值保存到变量中
变量 = 方法名称(实参列表)
//直接使用返回值参与运算
方法名称(实参列表) + 方法名称(实参列表)
示例
public class TestMax {
/** 主方法 */
public static void main(String[] args) {
int k = max(5, 2);
System.out.println( i + " 和 " + j + " 比较,最大值是:" + k);
}
/** 返回两个整数变量较大的值 */
public static int max(int num1, int num2) {
if (num1 > num2){
result num1;
}else
result num2;
}
}
6.方法重载(overload)
多个方法的名称一样,但参数列表不一样,称为方法重载。
示例:
public class Test {
public static void main(String[] args) {
System.out.println(max(10,20));
System.out.println(max(10.2,12.4));
System.out.println(max(10.5,3.2,4));
}
public static int max(int num1, int num2) {
int max = num1 > num2 ? num1 : num2;
return max;
}
public static double max(double num1, double num2) {
double max = num1 > num2 ? num1 : num2;
return max;
}
public static double max(double num1, double num2, int num3) {
double max = max(max(num1,num2),num3);
return max;
}
}
7.重载的注意事项
方法重载与下列因素相关:
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
方法重载与下列因素无关:
- 与参数的名称无关
- 与方法的返回值类型无关