1、方法概述
方法(method)就是一段具有独立功能的代码,可以在使用的时候就行调用,不使用就不调用。
作用:提高了代码的复用性。
方法使用前提须知:1、方法必须先创建才可以使用,该过程称为方法定义。2、方法创建后并不是直接运行的,需要手动使用后才执行。该过程称为方法调用。
2、方法的定义和调用
方法的定义:
public static void 方法名(){
}
方法的调用:方法名();
方法必须先定义才可以调用,方法与方法直接时平级关系,就是说不能在方法中创建方法。
3、方法在内存中的调用过程
1、方法没有被调用的时候,都在方法区中的字节码文件中存储。
2、方法被调用的时候,需要进入到栈内存中运行。
方法加载进栈内存时,是先进后出。
- 调用main方法
- 将main方法加载进栈内存
- main方法调用eat方法
- 将eat方法加载进栈内存
- 执行eat方法内容
- 执行eat方法内容完毕,栈内存弹出eat方法
- main方法执行完毕
- 栈内存弹出main方法
- 程序结束
4、带参数的方法定义和调用
定义格式:public static void 方法名(数据类型 变量名1,数据类型 变量名2,...){.....}
调用格式:方法名(参数1,参数2,...);
注意:1、方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
2、方法定义时,多个参数之间用逗号(,)分隔5、形参和实参
形参:全称形式参数,是指方法定义中的参数。
实参:全称实际参数,是指方法调用中的参数。6、带有返回值的方法定义和调用
定义格式:
方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序会报错。public static 数据类型 方法名(数据类型 变量名1,...) {
return 数据;
}
调用格式:数据类型 变量名 = 方法名(参数1,...);
方法的返回值通常会使用变量接受,否则该返回值将无意义。7、方法的通用格式
public static 返回值类型 方法名(参数){
方法体;
return 数据
}
- public static 修饰符
- 返回值类型 方法操作完毕之后返回的结果数据,所对应的数据类型
如果方法操作完毕,没有数据返回,这里写void,而且方法中一般不写return - 方法名 调用方法时候使用的标识
- 参数 由数据类型和变量名组成。多个参数之间用逗号隔开
- 方法体 完成功能的代码块
- return 如果方法操作完毕,有数据返回,用于把数据返回给调用者
- 定义方法时,要做到两个明确
明确参数:主要是明确参数的类型和数量
明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型 调用方法时
void类型的方法直接调用即可
非void类型的方法,推荐用变量接收调用8、方法的注意事项
方法不能嵌套定义
- 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写
如果要编写return,后面不能跟具体的数据。 - return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
return; 可以用于结束代码,也就是将方法从栈内存中弹出去,该过程称之为方法的弹栈。
9、方法重载
在同一个类中,定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。
- 简单记:同一个类中,方法名相同,参数不同的方法
参数不同:个数不同、类型不同、顺序不同
注意:世界方法之间是否是重载关系,只看方法名和参数,跟返回值无关。
方法重载的好处,不用记忆过多繁琐的方法名字。
10、方法的参数传递
方法参数传递为基本数据类型:传入方法中的,是具体的数值。
方法参数传递为引用数据类型:传入方法中的,是内存中的地址。
return语句只能带回一个数据,如果要返回多个数据,可以用数组类型返回。