Java:在创建时将值传递给对象时,应该被初始化的成员会发生什么情况?

咖啡网

这个问题更多的是关于适当的Java程序构造。我在想:这会发生什么

public Clazz { 
   this.someClazz = new SomeClazz(); 
}  //initialization

Clazz x = y; 

上面的构造函数被执行了还是被跳过了,并且某些Clazz成员立即获得了新值?

乔恩·斯基特

您需要区分变量,对象和引用。

的价值观xy不是对象-他们只是引用。赋值运算符只是将值从右侧的表达式复制到左侧的变量。因此,在您的情况下,它会将in的值复制yx...处,这两个变量的值都指向同一对象。没有构造函数或任何其他成员被调用-它只是复制一个值。因此,例如:

// Assuming appropriate methods...
x.setFoo("new foo");
System.out.println(y.getFoo()); // Would print "new foo"

但是,这两个变量仍然是独立的:

x.setFoo("new foo");
x = new Clazz();
x.setFoo("yet another foo");
System.out.println(y.getFoo()); // Would print "new foo"

这里,第二行之后,的值xy参考不同的对象,因此调用x.setFoo()不改变的值foo,所述对象物的内部y是指。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在初始化期间为指针分配字符串值时,会发生什么情况?

来自分类Dev

当对象通过const引用传递给std :: map这样的容器时,会发生什么情况?

来自分类Dev

将左值传递给T &&时,会发生什么?

来自分类Dev

暂停时被“活动”实例化的对象会发生什么情况

来自分类Dev

创建对象向量时,如何将参数传递给Default或Copy Constructor以初始化值?

来自分类Dev

将限定符添加到布局或值时,会发生什么情况?

来自分类Dev

如果在已经初始化的变量上使用`var`会发生什么情况

来自分类Dev

如果未初始化int,会发生什么情况?

来自分类Dev

在循环中创建新对象时,将初始化未初始化的成员变量

来自分类Dev

当传递引用参数存储在被调用方对象中,然后被调用方删除时,会发生什么情况?

来自分类Dev

如果将很少的参数传递给Shell函数,会发生什么情况?

来自分类Dev

将参数传递给基类构造函数时成员的初始化

来自分类Dev

在Java函数中创建并存储在对象中的对象会发生什么情况?

来自分类Dev

调用exec()时,线程会发生什么情况?

来自分类Dev

在提示中键入“ unset *”时,会发生什么情况?

来自分类Dev

在提示中键入“ unset *”时,会发生什么情况?

来自分类Dev

硬盘突然关闭时,磁头会发生什么情况?

来自分类Dev

在iOS中,导航时附加到控制器的对象会发生什么情况?

来自分类Dev

当通过const引用将未初始化的值传递给函数时,g ++为什么不报告警告?

来自分类Dev

当我们将int参数传递给重载方法时,会发生什么情况,该重载方法将float作为一个方法的参数,将另一个作为double参数

来自分类Dev

在Java中将字节转换为String时,会发生什么情况?

来自分类Dev

创建对象时是否初始化类中的成员值?

来自分类Dev

在C ++中初始化模板时将函数传递给模板对象

来自分类Dev

如果我将函数主体而不是函数名称传递给setTimeout,会发生什么情况?

来自分类Dev

在源中更新其基础数据时,结构化流中使用的Spark DataFrame会发生什么情况?

来自分类Dev

设置为“链表”头部的初始空值会发生什么情况?

来自分类Dev

当多个用户将“非共享”工作簿保存在共享驱动器上时,会发生什么情况?

来自分类Dev

如果将项目推入堆栈但已达到初始容量,会发生什么情况?

来自分类Dev

如果PHP总是按引用复制对象,如果将在方法中创建的对象分配给成员变量,会发生什么情况?

Related 相关文章

  1. 1

    在初始化期间为指针分配字符串值时,会发生什么情况?

  2. 2

    当对象通过const引用传递给std :: map这样的容器时,会发生什么情况?

  3. 3

    将左值传递给T &&时,会发生什么?

  4. 4

    暂停时被“活动”实例化的对象会发生什么情况

  5. 5

    创建对象向量时,如何将参数传递给Default或Copy Constructor以初始化值?

  6. 6

    将限定符添加到布局或值时,会发生什么情况?

  7. 7

    如果在已经初始化的变量上使用`var`会发生什么情况

  8. 8

    如果未初始化int,会发生什么情况?

  9. 9

    在循环中创建新对象时,将初始化未初始化的成员变量

  10. 10

    当传递引用参数存储在被调用方对象中,然后被调用方删除时,会发生什么情况?

  11. 11

    如果将很少的参数传递给Shell函数,会发生什么情况?

  12. 12

    将参数传递给基类构造函数时成员的初始化

  13. 13

    在Java函数中创建并存储在对象中的对象会发生什么情况?

  14. 14

    调用exec()时,线程会发生什么情况?

  15. 15

    在提示中键入“ unset *”时,会发生什么情况?

  16. 16

    在提示中键入“ unset *”时,会发生什么情况?

  17. 17

    硬盘突然关闭时,磁头会发生什么情况?

  18. 18

    在iOS中,导航时附加到控制器的对象会发生什么情况?

  19. 19

    当通过const引用将未初始化的值传递给函数时,g ++为什么不报告警告?

  20. 20

    当我们将int参数传递给重载方法时,会发生什么情况,该重载方法将float作为一个方法的参数,将另一个作为double参数

  21. 21

    在Java中将字节转换为String时,会发生什么情况?

  22. 22

    创建对象时是否初始化类中的成员值?

  23. 23

    在C ++中初始化模板时将函数传递给模板对象

  24. 24

    如果我将函数主体而不是函数名称传递给setTimeout,会发生什么情况?

  25. 25

    在源中更新其基础数据时,结构化流中使用的Spark DataFrame会发生什么情况?

  26. 26

    设置为“链表”头部的初始空值会发生什么情况?

  27. 27

    当多个用户将“非共享”工作簿保存在共享驱动器上时,会发生什么情况?

  28. 28

    如果将项目推入堆栈但已达到初始容量,会发生什么情况?

  29. 29

    如果PHP总是按引用复制对象,如果将在方法中创建的对象分配给成员变量,会发生什么情况?

热门标签

归档