gpt4 book ai didi

java - 类的全局字段

转载 作者:行者123 更新时间:2023-11-30 09:40:31 24 4
gpt4 key购买 nike

我遇到的一个很常见的问题是,我有一些字段,我想通过一个从字段类初始化的 derived 类来引用它们。让我说得更具体一些。

Class Diagram

我有这三个派生自主类的类。每个类都有一个与字段交互的方法。在这种情况下,有一个调用类(JPanel)并将其添加到内容 Pane 的 JFrame。

我找到的方法是将 Frame 类创建的对象的引用传递给 Panel 类的构造函数。并通过它引用它们。

有没有更有效的方法?如何为所有派生类创建全局字段或方法在这种情况下,它们是主类的组件?

更新

像这样。

import javax.swing.JFrame;
import javax.swing.JPanel;

public class JFrame1 extends JFrame {

protected String field1;
protected String field2;

public JFrame1() {
add(new Panel1());
}
}

class Panel1 extends JPanel {

public Panel1() {

// field1 = "String"; Wrong
}
}

我知道我可以将 class Panel1 嵌套在 public class Frame1 中,问题将得到解决,但是如果我想将这两个类放在不同的文件中?

最佳答案

从主类派生的三个类 - 这是什么意思?您的三个类派生自(扩展)JPanel,并且其中没有任何字段。

如果您询问您的三个类应该如何访问 Frame1 中的字段,这大概是它们的容器 - 那么您应该使用 getParent()要获取对父类的引用,请检查它是否为 Frame1,如果是 - 访问其字段。

关于java - 类的全局字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379137/

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