java中的引用调用问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:14:56
public class TestCallByReferences {

/**
* @param args
*/
public static void main(String[] args) {

Customer customer=new Customer(1);
Customer customer_2=increment(customer); //???//
System.out.println("Customer id=="+customer.getId());
System.out.println("Customer_2 id="+customer_2.getId());

}

public static Customer increment(Customer customer){
customer.setId(customer.getId()+1); //????//
customer=new Customer(22);
return customer;
}

}

class Customer{

private int id;

public Customer(int id) {
this.id = id;
}

public int getId() {
return id;
}

public void setId(int id) {

Customer customer_2=increment(customer); //???// 这句话是用下面这个函数实例化一个Customer的对像,对像名是:customer_2

public static Customer increment(Customer customer){
customer.setId(customer.getId()+1); //设置customer的属性id为id+1//
customer=new Customer(22);
return customer;
}

customer.setId(customer.getId()+1); //????// 这句话的意思是你前面这句话Customer customer=new Customer(1); 定义了一个Customer对像,对像名是customer.现在你调用了这个对像的setId方法.

不知道我这样说你明白了没有?

public class TestCallByReferences {

/**
* @param args
*/
public static void main(String[] args) {

Customer customer=new Customer(1);
Customer customer_2=increment(customer); //前两行定义了两个对象customer和customer_2,第一个对象是用构造函数创建的,第二个是使用了increment()函数返回的一个Customer类的对象,调用函数时,使得第一个对象的id属性由1变为2//
System.out.println("Customer id=="+customer.getId());
System.out.println("Customer_2 id="+customer_2.getId());

}

public static Custom