如何将创建的对象传递给另一个Java类

时间:2015-10-10 01:02:14

标签: java

我在我的一个类中为Java程序创建了一个对象实例。如何将该对象的同一实例传递给另一个类?

我是否需要在原始类中创建某种类型的getter方法以将对象传递给另一个类?

4 个答案:

答案 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)

有很多方法可以将一个对象的引用传递给另一个对象。最简单和最常见的方式是:

  • 作为构造函数参数,
  • 作为setter方法的参数;例如setFoo(Foo foo)设置“foo”属性,或
  • 作为传递对象中的“add”方法将被添加到集合中;例如addFoo(Foo foo)

然后有各种更复杂的模式,其中使用发布/订阅,回调,期货等传递对象。

最后有一些技巧可以用来跨越抽象边界“走私”对象......这通常是一个坏主意。