callbyref.java

来自「软通公司培训的课件和习题里面有答案。。。」· Java 代码 · 共 44 行

JAVA
44
字号
package com.iss.base;

public class CallByRef {

	private int i ,j;
	
	public CallByRef(){
		
	}
	
	public CallByRef(int i, int j){
		this.i = i ;
		this.j = j ;
	}
	
	public void changeValue(CallByRef cb){
		cb.i *=  2 ;
		cb.j /=  2 ;
	}

	public static void main(String[] args) {
		
		// 当你将一个对象传递给一个方法的时候,接受他的参数将会指向的是同一个对象
		// 对这个接受参数的操作也就是对原始对象的操作,changeValue中的操作影响了作为参数的对象
		// 对象是通过引用调用传递给方法的
		
		// 注意 :
		
		// 当一个对象引用被传递给方法时,引用本身使用按值调用被传递。
		// 但是,因为被传递的值指向一个对象,该值的拷贝仍然指向它相应的参数所指向的同一个对象
		
		
		CallByRef cb = new CallByRef(15,20);
		System.out.println(" before changeValue() : i = " + cb.i + "  and  j = " + cb.j);
		cb.changeValue(cb);
		System.out.println(" after changeValue() : i = " + cb.i + "  and  j = " + cb.j);
		
		

	}
	

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?