方法
思维导图:
方法概述
方法用于封装一段特定的逻辑功能,是由具有独立功能的代码块组成一个整体。
注意:
方法必须先创建才可以使用,该过程称为方法定义
方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用
方法定义和调用
方法定义:
权限修饰符 返回值声明 方法名(参数列表) {
方法中封装的逻辑;
return 返回值;
}
定义方法时要做到两个明确:
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型
明确参数:主要是明确参数的类型和数量
方法调用:
方法名();(需要在main方法中调用,因为main方法是程序的入口)
注意:
void类型的方法,直接调用即可
非void类型的方法,推荐使用变量接收调用
注:方法必须先定义后调用,否则程序将会报错
无参数无返回值的方法定义和调用
权限修饰符一般采用public来修饰,所以下面就直接用public
方法定义:
public (static) void 方法名() {
//方法体
}
例:
public (static) void say(){
System.out.println(“a”);
}
方法调用:
方法名();
例:
say();
带参数无返回值的方法定义和调用
public (static) void 方法名(参数) {
//方法体
}
单个参数:
public (static) void 方法名(数据类型 变量名){
//方法名
}
例:
public (static) void isEvenNum(int num){… …}
多个参数:
public (static) void 方法名(数据类型 变量名1,数据类型 变量名2,…) {… …}
例:
public (static) void getMax(int num1, int num2){… …}
注意:
方法定义时,参数中的数据类型与变量名都不能缺少,否则将会报错
方法定义时,多个参数之间使用逗号(,)分隔
方法调用:
方法名(参数);
单个参数:
方法名(变量名/常量值);
例:
isEvenNum(3);
多个参数:
方法名(变量名/常量值, 变量名/常量值);
例:
getMax(5,6);
注意:
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则将会报错
带参数带返回值的方法定义和调用
方法定义:
public (static) 数据类型 方法名(参数) {
return 数据;
}
例:
public (static) boolean isEvenNumber(int num) {
return true;
}
注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将会报错
方法调用:
格式一:
方法名(参数);
例:
isEvenNumber(5);
格式二:
数据类型 变量名 = 方法名称(参数);
例:
boolean flag = isEvenNumber(5);
注意:方法的返回值通常会使用变量接收,否则该返回值将无意义
形参和实参
形参:方法定义中的参数(等同于变量定义格式)
实参:方法调用中的参数(等同于使用变量或常量)
方法的注意事项
方法不能嵌套定义
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
方法重载
概念:方法重载指同一个类中定义的多个方法之间的关系(相同的方法名称)
需满足以下条件:
①多个方法在同一个类中
②多个方法具有相同的方法名
③多个方法的参数不相同,类型不同或者数量不同
方法的参数传递
基本数据类型
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值。
例:
引用数据类型
对于引用数据类型的参数,形式参数的改变,影响实际参数的值。
例: