面向对象:访问实例的一个困难案例

时间:2014-02-06 16:28:35

标签: class oop instance

我有三个课程:课程A 课程B 课程C

在类A的代码中,创建了类B的实例和类C的实例。

Class A{

    public A{

        B b = new B();
        C c = new C();

    }

}

BC具有get()set()方法,可以接收有关其实例的信息并操纵这些类的实例。

因此,课程A可以访问bc,例如:

Class A{

    public A{

        B b = new B();
        C c = new C();

        int cLife = c.getLifePoints():

    }

}

我的问题是:

A可能能够访问实例bc,但我需要类B才能访问实例{{1}也是。(通过'访问'我的意思是获取有关该实例的信息或操纵它。)

我不能简单地在课堂c内写作:

B

这是因为类int cLife = A.c.getLifePoints();不是静态类。它有一个在另一个类A中创建的实例。

但是,由于某些原因,我无法访问类D的实例,以便从那里检索对A的引用。

是否有其他方法可以从类c内部访问实例c?请给我最“标准”的方式。任何其他方式也都会很棒。

由于

1 个答案:

答案 0 :(得分:1)

如果您希望B访问C中创建的A实例,则需要将其引用传递给B实例,例如:

    C c = new C();
    B b = new B(c);