这个问题在这里已经有答案了:
在不同类的方法之间“共享”变量的正确方法是什么(4个答案)4个月前关门了。我有三个java类(a.java&b.java&c.java),它们都位于一个公共包中。我想在类a中创建一个类b(instanceofb)的对象,并且可以在类c中使用该对象。你怎么知道的?谢谢
public class A{ public B instanceOfB; } public class B{ } public class C{ }
wgx48brx1#
您可以使用getter方法从a对象检索类b的示例,并在c中使用它:
public B getB() { return this.B; }
nkkqxpd92#
你需要通过 B 至 C 施工期间。最简单的方法是在 C :
B
C
public class C { private B myInstanceOfB; public C(B instance) { this.myInstanceOfB = instance; } }
这意味着无论谁创造了 C 示例必须知道如何做到这一点,并且可以访问 B 示例。有可能您想要“隐藏”那个需求,然后您可以做一些事情,比如为它添加一个工厂方法 C 进入 A 班级:
A
public class A { private B instanceOfB; public C createC() { return new C(instanceOfB); } }
如果你这样做,你也可以使 C 构造函数包private,向潜在用户指示他们不应尝试直接示例化它(并在javadoc中记录如何获取 C 示例)。这是否合理取决于a和c之间的关系。
2条答案
按热度按时间wgx48brx1#
您可以使用getter方法从a对象检索类b的示例,并在c中使用它:
nkkqxpd92#
你需要通过
B
至C
施工期间。最简单的方法是在C
:这意味着无论谁创造了
C
示例必须知道如何做到这一点,并且可以访问B
示例。有可能您想要“隐藏”那个需求,然后您可以做一些事情,比如为它添加一个工厂方法C
进入A
班级:如果你这样做,你也可以使
C
构造函数包private,向潜在用户指示他们不应尝试直接示例化它(并在javadoc中记录如何获取C
示例)。这是否合理取决于a和c之间的关系。