重载的概念
在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。
可变个数形参的方法
- 格式:数据类型 ... 变量名
- 当调用可变个数形参的方法时,传入的参数可以是0个,1个,2个。。。
- 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
例子:
test.show("hello","world");
public void show(String ... strs)
{
for(int i = 0;i < strs.length;i++) //相当于一个String数组,不过不需要new
{
System.out.println(strs[i]);
}
}
方法参数的值传递机制
值传递机制:
- 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值
- 如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值
package com.atguigu.java1;
public class ValueTransferTest {
public static void main(String[] args) {
int m = 10;
int n = 20;
Data data1 = new Data();
data1.m = 10;
data1.n = 20;
ValueTransferTest test1 = new ValueTransferTest();
test1.swap(data1);
System.out.println(data1.m + " " + data1.n);
}
/*public void swap(int m,int n) { 无效替换
int temp;
temp = m;
m = n;
n = temp;
}*/
public void swap(Data data1) { //有效替换
int temp;
temp = data1.m;
data1.m = data1.n;
data1.n = temp;
}
}
class Data{
int m;
int n;
}
网友评论