方法的定义
注:Java中都是值传递
,没有引用传递。
方法的重载
可变参数
- 两种可变形参的调用方法
public static void test1(String[] arg){}
test1(new String[]{"a" , "b" , "c"})
public static void test2(String... arg){}
test2("a" , "b" , "c");
注:可变参数实际是一个数组。所以传入的实参可以是一个个值,也可以是数组
public class HelloWord {
public static void main(String[] args) {
HelloWord A = new HelloWord();
//可变参数实际是一个数组。所以传入的实参可以是一个个值,也可以是数组
A.test(1,2);
A.test(new int[]{3,4});
}
public void test(int... i){
System.out.print(i[0]);
System.out.print(i[1]);
System.out.print('\n');
}
}
输出:
12
34
方法参数的值传递机制
注:Java中都是值传递
,没有引用传递。
参数类型为“基本数据类型”的值传递
- ①处输出没有交换m,n,是因为swap方法执行完后,其中的变量都会从栈中弹出,此时虽然swap中的m,n做了交换,但却被弹出,只剩下mian方法中的m,n,又因为值传递只是将数据的副本传入方法,所以main方法中的m,n不变,所以输出的m,n没有交换。
- ②①处输出,交换了m,n。