一:方法的介绍
1 方法是程序中最小的执行单元,即方法的执行,必须要把里面的内容全部执行完。
2 对于重复的。具有独立功能的代码可以抽取到方法中
3 实际开发中方法可以 提高代码的复用性,提高代码的可维护性
二:方法的格式
方法定义:指把一些代码打包在一起
方法调用:方法定义完后,手动调用的过程成为方法调用
方法定义格式:public static 返回值类型 方法名 (参数) {
方法体;
return 返回值;
}
at1:方法想要返回一个数组时,要将返回值类型改为数组
eg:public static int [] 方法名 (参数) {} //这里返回的就是一个数组
at2:方法调用时,输入的参数数量和类型必须和方法定义中小括号里的严格相同
形参和实参:形参即形式参数,是指方法定义中的参数
实参即实际参数,是指方法调用中的参数
at3:方法定义的技巧 1:我要做什么 -> 方法体
2:我需要什么才能完成 -> 形参
at:方法不调用就不执行,方法和方法之间是平级关系,不能相互嵌套定义,方法编写顺序和执行顺序无关,方法返回值类型为void,表示方法没有返回值,没有返回值的方法可以省略return
三 方法的重载
方法的重载:1:在同一个类中,定义了多个同名的方法,这些方法具有同种功能
2:每个方法具有不同的参数类型或参数个数,这些方法就构成重载
即同一个类中,方法名相同,参数不同的方法,与返回值无关。
参数不同:个数不同,类型不同,顺序不同。
好处:定义方法时可以不用使用很多单词,使用时也比较简单
四:方法的内存
Java的内存分配
1 方法调用的基本内存原理:先调用的方法先进栈,先进栈的方法后出栈。
eg:下面先调用main () 方法,main () 方法进栈,再调用eat () 方法,eat () 进栈,再调用study () 方法,study () 进栈,study () 方法执行结束出栈,再调用sleep () 方法,sleep () 进栈,sleep () 方法执行结束后出栈,eat () 方法再出栈,main () 最后出栈。
2 基本数据类型和引用数据类型
基本数据类型:数据值存储在自己的空间中,这个数据赋值给其他变量,也是真实的值,如int,double类型。
引用数据类型:数据值是存储再其他空间中的,自己的空间存储的是地址值。如new 数组。
凡是使用了new的一般都是引用数据类型。
基本数据类型的数据都是存储在方法所在的栈空间。
引用数据类型的数据存储在堆空间,数据值存放的是堆空间中数据的地址。
3 方法传递数据
方法传递基本数据类型:这种情况下传递地是真实地数据,因此实参的改变,不会影响被传递的值
方法传递引用数据类型:这种情况下传递的是地址值,因此会产生两个变量指向同一个地址,在方法内对变量的改变,会导致方法外的变量的值的改变。
ps1:ctrl + d:将光标所在行向下复制一次
ps2:写方法的三个问题
1 我要干嘛
2 我做这件事,需要什么来完成
3 方法的调用处,是否需要继续使用这个结果