如何引用两个 类 的实例?

How can I reference instances of two classes?

我有两个 类,比如 Class A 和 Class B。

对于Class B,它使用Class A的实例变量。

例如,在Class A:

public ClassA {
    numA = 0;
    characterA = 'x';
}

然后,在创建ClassB的对象时,需要用到数字和字符信息。

例如,在Class B:

public ClassB {
    ClassA obj = new ClassA();
    numB = obj.getNumA();
    characterB = obj.getCharacterA;
}

问题是,如果我使用 setCharacterA('o' 将字符 A 更改为 'o',值(即字符 B)将不会在 ClassB 中更新。

有没有一种方法可以通过使用 ClassA 中的设置器来更新 ClassB 中的值?

您正在 ClassB 中创建 ClassA 的实例。

如果您的代码是这样的:

ClassA a = new ClassA();
ClassB b = new ClassB();
a.setCharacterA('y');

那么,ClassAClassB中的字符不会改变,因为有两个不同的实例。你需要做的是通过构造函数或一个setter在ClassB中传递ClassA的实例,例如:

public ClassB {
    private ClassA obj;

    public ClassB(ClassA obj) {
        this.obj = obj;
    }
}

那么您可以按如下方式使用它们:

ClassA a = new ClassA();
ClassB b = new ClassB(a);
a.setCharacterA('y');

现在,字符更改也会反映在 ClassB 中,因为您将使用相同的实例。