方法在计算机中是怎么执行的?
方法的运行区域在栈内存。
栈的特点是先进后出,保证一个方法调用完另一个方法后,可以回来。
Java的参数传递机制
Java的参数传递机制都是值传递
所谓值传递:指的是在传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本。
实参:在方法内部定义的变量。形参:定义方法时 “(...)” 中所声明的参数。
分为两种:基本类型的参数传递和引用类型(例如数组)的参数传递
- 基本类型的参数传输存储的数据值。
- 引用类型的参数传输存储的地址值。
方法重载
- 一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。
例如:
public static void test() { System.out.println(1); } public static void test(int a) { System.out.println(2); }
这两个方法的名称相同,但是它们的参数列表就不同,所以可以同时运行。
方法重载的注意事项
- 一个类中,只要一些方法的名称相同、形参列表不同,那么它们就是方法重载了,其它的都不管(如:修饰符,返回值类型是否一样都无所谓)。
- 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称(也就是看类型)。
例如下面这种就会冲突:
public static void test(int a,double b){ } public static void test(int b,double a){ } //会冲突
应用场景
- 开发中经常需要为处理一类业务,提供多种解决方案,此时用方法重载来设计是很专业的。
案例:
开发武器系统,功能需求如下:
- 可以默认发一枚武器。
- 可以指定地区发射一枚武器。
- 可以指定地区发射多枚武器。
return关键字在方法中单独使用
return; 可以用在无返回值的方法中,作用是:立即跳出并结束当前方法的执行。
- return; 跳出并立即结束所在方法的执行。
- break; 跳出井结束当前所在循环的执行。
return关键字在方法中单独使用
return; 可以用在无返回值的方法中,作用是:立即跳出并结束当前方法的执行。
- return; 跳出并立即结束所在方法的执行。
- break; 跳出井结束当前所在循环的执行。