什么是方法?
方法(method)是程序中最小的执行单元
main方法,主方法
开发过程中,什么时候用到方法?
重复的代码、具有独立功能的代码可以抽取到方法中。
把一些代码打包在一起,用到的时候就调用
打包过程成为方法定义
手动调用执行成为方法调用
实际开发中,方法有什么好处?
提高代码的复用性
提高代码可维护性
方法的定义格式
定义
public static 返回值类型 方法名(参数){
方法体;
return 返回值;
}
调用
直接调用:
方法名();
复制调用:
整数类型 变量名 = 方法名();
输出调用:
System.out.println(方法名());
执行过程分析
看到方法进入方法,执行完毕回到调用处。
形参和实参
形参:形式参数;指定义方法中的参数
实参:实际参数;方法调用种的参数
方法的重载
同一个类中,定义了多个同名的方法,这些同名的方法具有相同的功能。每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
java虚拟机会通过参数的不同来区分同名的方法;
方法的内存
java内存分配
栈 方法运行时使用的内存,方法进栈运行,运行完毕就出栈
堆 new出来的,都在堆内存中开辟了一个小空间
方法区 存储可以运行的class文件
本地文件栈 JVM在使用操作系统功能的时候使用
寄存器 给CPU使用
方法调用时基本内存原理
方法进入栈,最先进入的最后出
基本数据类型和引用数据类型
基本数据类型:
整数类型
浮点数类型
布尔类型
字符类型
引用数据类型:
除基本数据类型所有类型
空间角度解释
基本数据类型:数据值存储在自己的空间里;赋值给其他变量,也是赋的真实值;
引用数据类型:变量中存储的是地址,自己空间中存储的是地址值。引用其他空间中的数据(eg:0x0011) 赋值给其他变量,赋的是地址值
传输基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值。
小结
方法的返回值类型是void,表示该方法没有返回值,没有返回值的方法可以省略不写return。如果要编写return,后面不可以跟具体数据。
public static void PlayGames(){
System.out.println("打游戏")
return ;
}