我在我的一个类中为Java程序创建了一个对象实例。如何将该对象的同一实例传递给另一个类?
我是否需要在原始类中创建某种类型的getter方法以将对象传递给另一个类?
答案 0 :(得分:0)
您可以通过其他类的构造函数传递对象。
简单示例:
Class A{
}
Class B{
A a;
public B(A obj){
this.a=obj
}
}
答案 1 :(得分:0)
假设您要将类A
的对象传递给类B
。现在你已经创建了这样的对象:
A object = new A ();
现在在B
课程中,您可以编写一个方法来接受A
对象。它应该是public
,如果您愿意,可以将其设为static
。
如果您想将object
传递给B
,您必须要对其进行操作,对吧?所以你应该相应地命名你的方法。您可能希望在A
中指定fieldA
类型的字段(我们称之为B
)。 (或者这可能不是你想要的,但我会以此为例)
让我们看一下方法:
public void setFieldA (A a) { fieldA = a; }
您可以按如下方式调用此方法:
anObjectOfClassB.setFieldA (object);
当然,如果它是静态的,则不需要anObjectOfClassB
。
答案 2 :(得分:0)
要“传递”它,你需要一个可以接受它的方法或构造函数:
public class Other {
// either
public Other(MyClass obj) {
// do something with obj
}
// or
public void method(MyClass obj) {
// do something with obj
}
}
然后调用构造函数/方法:
MyClass x = new MyClass();
Other other = new Other();
other.method(x);
答案 3 :(得分:0)
有很多方法可以将一个对象的引用传递给另一个对象。最简单和最常见的方式是:
setFoo(Foo foo)
设置“foo”属性,或addFoo(Foo foo)
。然后有各种更复杂的模式,其中使用发布/订阅,回调,期货等传递对象。
最后有一些技巧可以用来跨越抽象边界“走私”对象......这通常是一个坏主意。