五、方法
什么是方法
方法(method): 程序中最小的执行单元
应用
将重复的代码,具有独立功能的代码可以抽取到方法中
优点
可以提高代码的复用性
可以提高代码的维护性
方法的格式
方法的定义和调用
定义
格式:
public static void 方法名 (){
方法体;
}
public static void HelloWord (){
System.out.println("Hello Word");
}
调用:在main() 方法中直接调用即可方法名()
带参数的方法的定义与应用
定义:
public static void 方法名 (参数类型 参数,参数类型 参数 ......){
方法体;
}
public static void Add (int a, int b ){
System.out.println(a+b);
}
调用:在main() 方法中调用并在括号中加入参数即可方法名(参数,参数…)
注:
方法调用时,参数的数量与类型必须与方法定义中小括号里面的变量 一 一 对应,否则程序将报错
带返回值的方法
定义:
public static 返回值类型 方法名 (参数类型 参数,参数类型 参数 ......){
方法体;
return 返回值;
}
public static int Add (int a, int b ){
return a+b;
}
直接调用:方法名(实参);
复制调用:数据类型 变量名 = 方法名 (实参);
输出调用:System.out.println(方法名(实参));
方法的注意事项:
方法不调用就不执行
方法与方法之间是平级关系,不能互相嵌套定义
方法的编写顺序与执行顺序无关
方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略热土嗯语句不写。如果要编写return,后面不能跟具体的数据。
return语句下面,不能编写代码,因为永远执行不到,属于无效代码
return关键字:
方法没有返回值:可以省略不写
方法有返回值:必须要写。表示结束方法和返回结果
方法的重载
重载
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
Java虚拟机会通过参数的不同来区分同名的方法
简记:
在同一个类中,方法名相同,参数不同的方法与返回值无关。
参数不同:个数不同,类型不同,顺序不同
方法的内存
栈:方法运行时使用的内存,方法进栈运行,运行完毕就出栈
堆:new出来的,都在堆内存中开辟了一个小空间
方法区:存储可以运行的class文件
方法调用的基本内存原理
先进栈内存的后出栈
方法传递基本数据类型的内存原理
基本数据类型:
int , float , double , char
数据值是存储在自己的空间中
特点:复制给其他变量,也是赋的真实的值
方法传递的引用数据类型的内存原理
引用数据类型:
除基本数据类型外所有的数据类型
数据值是存储在其他空间中,自己空间中存储的是地址值
特点:赋值给其他变量,赋的地址值