码迷,mamicode.com
首页 > 其他好文 > 详细

ReferenceTypeDemo

时间:2015-07-23 00:13:08      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

对象a作为参数argument在方法中使用时,如果argument在方法中赋予另一个对象的地址,则之后方法中对参数argument的操作,都不会影响到对象a.

方法中参数argument如果是对象,argument是源对象a的副本

/*2015-7-22*/
public class ReferenceTypeDemo {
    public static void main(String[] args) {
        Person tom = new Person("Tom", 20);
        System.out.println(tom);
        modify(tom);
        System.out.println(tom);
    }

    private static void modify(Person tom) {
        System.out.println("modify():" + tom);
        Person jack = new Person("Jack", 10);
        tom = jack;
        System.out.println(tom);
        System.out.println("modify():" + tom);
        tom.setName("Tom-modify");
        System.out.println("modify():" + tom);
    }

}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

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

    @Override
    public String toString() {
        return Integer.toHexString(hashCode()) + ";Person [name=" + name + ", age=" + age + "]";
    }
}

Output:

14318bb;Person [name=Tom, age=20]
modify():14318bb;Person [name=Tom, age=20]
ca0b6;Person [name=Jack, age=10]
modify():ca0b6;Person [name=Jack, age=10]
modify():ca0b6;Person [name=Tom-modify, age=10]
14318bb;Person [name=Tom, age=20]

 Tips:
hasCode()可以标识对象。Map中判断是否包含一个对象,就是使用hashCode()和Equals()来判断

ReferenceTypeDemo

标签:

原文地址:http://www.cnblogs.com/softidea/p/4668939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!