开发者

passing object of class to another class

I have two classes. Class A and Class B.

I have a function in Class A that i would like to use in class B. I was thinking about passing a reference of Class开发者_Go百科 A to the constructor of Class B and then call the function after that.

Would that work? Can someone show me an example?

Thanks in advance!


Yes, it will work. And it's a decent way to do it. You just pass an instance of class A:

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.
   }
}

And then you can have:

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


Do something like this

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

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

The this keyword essentially refers to the object(class) it's in.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜