1.按值调用
Java程序语言总是采用按值调用的
public static void main(String[] args{}){
String str1 ="qqqq";
int a =100;
System.out.println(a);
}
public static void ChangeAge(int a) {
a =99;
}
最后结果为:100
证明为按值调用
2.引用调用:
假设:让三个变量交换
如下
TestOb ob =new TestOb();
ob.setAge(22);
ob.setName("aaaa");
TestOb ob2 =new TestOb();
ob2.setAge(32);
ob2.setName("vaaa");
Changeswap(ob,ob2);
System.out.println(ob);
System.out.println(a);
System.out.println(ob2);
public static void Changeswap(TestOb ob,TestOb ob2) {
TestOb temp = ob;
ob = ob2;
ob2 =temp;
}
实际上并没有交换,由此可见java不是采用引用调用的方法
3.总结
1.一个方法不可能修改一个基本数据类型的参数。而对象引用作为参数是很容易就修改的
2.很多程序设计语言提供了两种参数传递的方式:值调用和引用调用。有些程序员认为JAVA程序设计
对象采用的是引用调用,实际上是不对的,例子见上。
3.一个方法可以改变一个对象参数的状态
4.一个方法不能让对象参数引用一个新的对象