一个测试说明java是值传递

一个测试说明java是值传递

import org.junit.Test;
public class MyTest {


    //内部类User
    public class User{

        public String name;

        public String getName() { return name; }

        public void setName(String name) { this.name = name; }


    }

    //
    public void operationUser(User userA){

        User userB = new User();//userB是个新对象

        userB = userA;//引用还是值?

        userB.setName("lisi");//明明是对UserB进行name设值,却改变了userA的值

    }


    @Test
    public  void test (){

        User userA = new User();
        
        userA.setName("zhangs");

        operationUser(userA);

        System.out.println(userA.getName());


    }

}


猜你喜欢

转载自fuliguo.iteye.com/blog/2226413