将一个类的对象传递给另一个类

9

我有两个类,Class AClass B

Class A中有一个函数,我想在Class B中使用它。我考虑将Class A的引用传递给Class B的构造函数,然后在那之后调用该函数。

这样可以吗?能否给我一个示例?

谢谢!


在Java中,你不能通过引用传递参数。这里有一篇不错的文章:http://www.yoda.arachsys.com/java/passing.html。 - CoolBeans
4
你不能通过引用传递,但你可以传递一个引用。当你尝试传递一个对象时,自然而然地就会发生这种情况。请注意不要改变原本的意思。 - Don Roby
2个回答

23

可以,这是一个不错的方法。你只需要传递类A的一个实例:instance

public class Foo {
   public void doFoo() {..} // that's the method you want to use
}

public class Bar {
   private Foo foo;
   public Bar(Foo foo) {
      this.foo = foo;
   }

   public void doSomething() {
      foo.doFoo(); // here you are using it.
   }
}

然后你可以有:

Foo foo = new Foo();
Bar bar = new Bar(foo);
bar.doSomething();

3

做类似这样的事情

class ClassA {
    public ClassA() {    // Constructor
    ClassB b = new ClassB(this); 
}

class ClassB {
    public ClassB(ClassA a) {...}
}

this关键字本质上是指它所在的对象(类)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接