ReferenceTypeDemo
对象a作为参数argument在方法中使用时,如果argument在方法中赋予另一个对象的地址,则之后方法中对参数argument的操作,都不会影响到对象a.
方法中参数argument如果是对象,argument是源对象a的副本,方法执行结束,副本argument就被移出stack,在合适的时间就会被GC回收
/*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的更多相关文章
- 面试官:兄弟,说说Java到底是值传递还是引用传递
二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经 ...
- 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏
这么说吧,在我眼里,Java 就是最流行的编程语言,没有之一(PHP 往一边站).不仅岗位多,容易找到工作,关键是薪资水平也到位,不学 Java 亏得慌,对吧? 那可能零基础学编程的小伙伴就会头疼了, ...
- Java只有值传递
二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催.我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经 ...
随机推荐
- swift 新功能介绍
原文链接:http://www.cocoachina.com/applenews/devnews/2014/0617/8857.html 假设你和我一样,准备好好看看苹果的 Keynote,兴奋地准备 ...
- Java的内存泄漏和垃圾回收机制
JAVA会产生内存泄露吗?首先,答案是肯定的. Java尽管有垃圾回收器,但依旧存在泄漏. Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源.最后没有f ...
- Linux C语言写的超级简单port扫描器
这个本来曾经也写过的,今天无聊复习下 再写一遍.简单的一塌糊涂,写的不咋地大家见谅哦!有空再加强 嘿嘿! #include <stdio.h> #include <stdlib.h& ...
- 共同发展一个以上的开发者账户多台电脑 证书 p12 型材 进出口
1:导出相应的开发人员证书的配置文件. 2:依据相应的app id 创建配置文件. 3:打开钥匙串,把你的公布证书导出p12文件. 4:用开发人员账号导出developerprofile文件. 5:把 ...
- ibatis dynamic的用法
<select id="idididid" resultClass="java.uitl.HashMap" parameterClass="ja ...
- Cracking the coding interview--问题与解答
http://www.hawstein.com/posts/ctci-solutions-contents.html 作者:Hawstein出处:http://hawstein.com/posts/c ...
- 理解Git的工作流程(转)
英文原文:Understanding the Git Workflow 如果你不理解Git的设计动机,那你就会处处碰壁.知道足够多的命令和参数后,你就会强行让Git按你想的来工作,而不是按Git自己的 ...
- Hive综合HBase——经Hive阅读/书写 HBase桌子
社论: 本文将Hive与HBase整合在一起,使Hive能够读取HBase中的数据,让Hadoop生态系统中最为经常使用的两大框架互相结合.相得益彰. watermark/2/text/aHR0cDo ...
- Java重命名文件
File file = new File("D:\\aa\a.txt"); file.renameTo(new File("D:\\aa\\b.txt" ...
- 谷歌Web中国开发手册:1目的&夹
原版的:https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/ 该网站 ...