[英]How can i use same object in different classes in Java
假设我有 3 个 java 类 A、B 和 C
I need to create an object of class C that is used in both A and B but the problem in creating the object separately is that the constructor of class c is called 2 times. 但我希望构造函数只被调用一次。
所以我想使用在 class A 中创建的 object 到 class b 中。
因此创建一次 object,并将其传递给 A 和 B 的构造函数:
C c = new C();
A a = new A(c);
B b = new B(c);
...
public class A
{
private final C c;
public A(C c)
{
this.c = c;
}
}
请注意,这在 Java 中非常常见,作为一种依赖注入形式,对象被告知其合作者,而不是自己构建它们。
在 A 和 B 之外创建 object C 并让 A 和 B 的构造函数接受 class Z0D61F8370CAD1D4E122 的实例
class A {
public A( C c ) {
....
}
}
class B {
public B( C c ) {
....
}
}
或者,如果 A 和 B 的构造函数没有在彼此附近调用,您可以将 Class c 定义为 singleton。 见http://mindprod.com/jgloss/singleton.html
然后你会做:
A a = new A(C.getInstance());
B b = new B(C.getInstance());
或者,在A
和B
的构造函数中,只需调用 getInstance 而不是构造函数,即。
// C c = new C();
C c = C.getInstance();
你想共享一个实例? 好吧,他的呢:
C c = new C();
B b = new B(c);
A a = new A(c);
另一种选择是:
B b = new B();
A a = new A(b.c);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.