1.什么是方法?
方法是程序中最小的执行单元。
2.实际开发中,什么时候用到方法?重复的代码、具有独立功能的代码可以抽取到方法中
3.实际开发中,方法有什么好处?
可以提高代码的复用性
可以提高代码的可维护性
方法定义
public static 返回值类型 方法名(参数){
方法体;
return 返回值;
}
方法重载
-
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
-
每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
简单记:同一个类中,方法名相同,参数不同的方法。与返回值无关。
参数不同:个数不同、类型不同、顺序不同
//需求:使用方法重载的思想,设计比较两个整数是否相同的方法。
// 要求:兼容全整数类型(byte,short,int,long)
public class Demo1 {
public static void main(String[] args) {
compare(9,4);
compare((byte)9,(byte)4);
}
public static void compare(int a,int b){
System.out.println(a==b);
}
public static void compare(byte a,byte b){
System.out.println(a==b);
}
public static void compare(short a,short b){
System.out.println(a==b);
}
public static void compare(long a,long b){
System.out.println(a==b);
}
}
方法内存
1.方法调用的基本内存原理
2.方法传递基本数据类型的内存原理
3.方法传递引用数据类型的内存原理
1.方法调用的基本内存原理
以下面的代码为例:
public class Demo3 {
public static void main(String[] args) {
eat();
}
public static void eat(){
study();
System.out.println("吃饭");
sleep();
}
public static void sleep(){
System.out.println("睡觉");
}
public static void study(){
System.out.println("学习");
}
}
方法在栈内存中运行,运行结束之后出栈,出栈的规则是:前进后出
运行结果是
2.方法传递基本数据类型的内存原理据类型
- 整数类型
- 浮点数类型
- 布尔类型
- 字符类型
基本数据类型:数据值是存储在自己的空间中
特点:赋值给其他变量,也是赋的真实的值。
传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值
3.方法传递引用数据类型的内存原理
引用数据类型:数据值是存储在其他空间中自己空间中存储的是地址值。
特点:赋值给其他变量,赋的地址值。
传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值