gpt4 book ai didi

java - 当你说 Object someObject = otherSameObject; 时会发生什么

转载 作者:行者123 更新时间:2023-12-01 18:27:49 25 4
gpt4 key购买 nike

我正在使用 JTabbedFrame 用 Ja​​va 制作一个应用程序。每个选项卡都是由扩展 JFrame 的单独类创建的。我想通过在窗口关闭时将对象保存到文件中来保存每个选项卡的状态,并在创建选项卡时从文件中读回它们。我知道当你序列化一个对象时,所有实例变量都会被保存,但是构造函数会发生什么?当我说例如在构建选项卡框架的类中时:

public class Jtab{
private ClassThatExtendsJFrame tab;

public Jtab(ClassThatExtendsJFrame tab){

this.tab = tab; // what happens here? Is the constructor called?
JTabbedPane tabs = new JTabbedPane();
tabs.addTab("name", icon, this.tab, "tooltip");
}

}

所有布置 JFrame 的代码当前都在构造函数中。布局中的所有 JLabels 和元素都是我在构造函数中分配的类的属性。所以我看到可能会发生两种选择:调用构造函数并重置所有变量,或者不调用构造函数并且不创建我的布局。完成我想要做的事情的最佳方法是什么?

最佳答案

你永远不能说object = object,因为赋值表达式的左侧不能是“对象”。相反,它是某种类型的引用变量。因此,您只能为变量获取分配的对象引用。或者变量与另一个变量引用进行比较。

关于java - 当你说 Object someObject = otherSameObject; 时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25414129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com