1.java的方法是不能独立存在的,调用的时候必须使用类或对象作为主调者。
2.java的参数传递方式只有一种:值传递。
值传递:将实际参数值的副本传入方法内,但实际的参数不受影响。
3.例如:
①基本数据类型
public class Test{
public static void swap(int a,int b){
int temp=a;
a = b;
b = temp;
System.out.println("swap()方法里,a的值是:"+a+",b的值是:"+b);
}
public static void main(String[] args) {
int a=1;
int b=2;
swap(a,b);
System.out.println("交换结束后,实参a的值是:"+a+",实参b的值是:"+b);
}
}
结果为:
2,1
1,2
②引用数据类型
public class Test{
public static void swap(DataWrap dw){
int temp=dw.a;
dw.a = dw.b;
dw.b = temp;
System.out.println("swap()方法里,a的值是:"+dw.a+",b的值是:"+dw.b);
}
public static void main(String[] args) {
DataWrap dw = new DataWrap();
dw.a = 1;
dw.b = 2;
swap(dw);
System.out.println("交换结束后,实参a的值是:"+dw.a+",实参b的值是:"+dw.b);
}
}
结果为:
2,1
2,1
这个也是值传递,只不过传递的是dw引用的副本,它们都指向同一个对象的地址,所以swap()方法改变了a,b的值,即改变了对象,所以同时main()方法里的a,b值也改变了,但引用没变。
另:
局部变量必须进行初始化,全局变量可以不进行初始化,有默认值。