Java的引用传递和值传递

2018-12-07  本文已影响0人  timar

基本数据类型是值传递

对象是引用传递,传递的是对象的地址

实参和形参指向同一块内存,obj.setName("tom");也会修改实参,因为指向同一块内存

但是如果obj = new Object(); obj.setName("tom"); 这种情况下,new Object();之后,形参和实参指向的内存并不是同一块,形参的改变不会影响实参

同理:

main(args){
    Object obj = null;
    function_a(obj);
    System.out.print(obj == null); // 结果为true   
}



private static void function_a(Object obj){
    obj = new Object();
}
上一篇 下一篇

猜你喜欢

热点阅读