java - 在对象B中,如何访问创建了对象B的对象A?

标签 java

我的代码格式如下:

public class Outer {

    protected int data;
    protected Inner inner;

    protected void run() {
        inner = new Inner();
    }

}

public class Inner extends Outer {

    protected getOuterData() {
        ...
    }
}

Inner 对象只能在 Outer 类的方法中创建。在 Inner 对象中,是否有一种方法可以访问创建了 Inner 对象的类 Outer 实例的数据?

编辑:我意识到您可以通过构造函数将外部对象传递到内部对象,但我想知道是否还有其他方法?

EDIT2:实际上通过构造函数传递对象对于我正在做的事情来说是没问题的。

最佳答案

public class Outer {

    protected int data;
    protected Inner inner;

    protected void run() {
        inner = new Inner(this);
    }

}

public class Inner extends Outer {
    private Outer parent;
    Inner(Outer parent) {
        this.parent = parent
    }

    protected getOuterData() {
        return parent;
    }
}

关于java - 在对象B中,如何访问创建了对象B的对象A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407527/

相关文章:

java - JUnit测试错误

java - 如果没有任何实例变量,我将如何为我的类编写构造函数?

java - 如何在 Spring Boot 应用程序中将千分尺与 jmx 一起使用?

java - 按位运算符和 boolean 运算符之间的差异 'AND'

java - 我将如何在 Java 中创建允许我注释文本的文本编辑器?

java - 如何在vaadin中切换当前页面?

java - 重叠面板

java - 在 Java 中传递多维 POST 数据

java - java 最好的免费 orb 是什么

java - 监听多个目录以在 Java 中创建文件