Java关于对象引用问题
来源:互联网 发布:炒股软件销售 编辑:程序博客网 时间:2024/06/05 12:00
本文通过代码来验证,使用类生成的对象作为参数传递时,传递的是引用
即新生成一个对象,把它作为传递的参数,不会生成额外的对象,全程使用的是该对象
如下所示,为一个Person类
public class Person implements Serializable { private static final long serialVersionUID = 5271192200089583565L; private String name; private int age; public Person() { System.out.println("Peron"); } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
然后用两个类分别封装它
class Objector1 { private Person person; Objector1() { } Objector1(Person person) { this.person = person; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; }} class Objector2 { private Person person; Objector2() { } Objector2(Person person) { this.person = person; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; }}
测试程序如下,如果以下输出的地址均一样,表示没有额外生成对象,全程仅仅操作一份内存
public class FirstApplication { public static void main(String[] args) throws Exception { Person person = new Person(); System.out.println("Person : " + person); Objector1 objector1 = new Objector1(person); System.out.println("Objector1 : " + objector1.getPerson()); Objector2 objector2 = new Objector2(); objector2.setPerson(objector1.getPerson()); System.out.println("Objector2 : " + objector2.getPerson()); }}测试结果如下所示,地址均相同
Person : Objector.Person@45ee12a7Objector1 : Objector.Person@45ee12a7Objector2 : Objector.Person@45ee12a7
阅读全文
0 0
- Java关于对象引用问题
- 关于java对象的引用问题
- 关于Java对象与对象引用
- 关于java中对象的循环引用问题(java编程思想)
- Java关于引用和对象的详解
- Java中关于对象引用的分类
- 关于Java对象引用的理解
- 关于Java对象作为参数传递是传值还是传引用的问题
- Java里面对象的引用问题
- 关于java对象Clone问题
- 关于性能:引用对象
- 关于对象引用
- [VB.NET]关于对象名引用的问题
- Java关于父类引用指向子类对象
- Java关于接口引用实现该接口类的对象
- Java中关于返回引用可变对象常见问题剖析
- JAVA别名问题----JAVA程序需要注意的对象引用
- js对象引用问题
- JqGrid 各个属性、方法使用说明
- JQuery控制文本框不能输入,但呈可用状态
- 注解
- mockito修改方法入参
- 基于SpringBoot的Guns管理系统
- Java关于对象引用问题
- js的并行加载与顺序执行
- 命令行提交本地项目到github
- Win10 linux子系统下显示图形界面
- 从上向下打印二叉树
- 前端 html css 复习
- 移动游戏产品精品化及细分化
- 关于鼠标事件中的event.clientY, event.pageY
- 小希的迷宫(并查集问题)