Java---方法参数传递(重点理解)

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.一个方法不能让对象参数引用一个新的对象



猜你喜欢

转载自blog.csdn.net/qq_33188563/article/details/81063465