我有两节课。 Class A
和Class B
。
我想在Class A
中使用class B
中的函数。我正在考虑将Class A
的引用传递给Class B
的构造函数,然后在之后调用该函数。
那会有用吗?有人能告诉我一个例子吗?
提前致谢!
答案 0 :(得分:21)
是的,它会起作用。这是一个很好的方式。您只需传递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.
}
}
然后你可以:
Foo foo = new Foo();
Bar bar = new Bar(foo);
bar.doSomething();
答案 1 :(得分:3)
做这样的事情
class ClassA {
public ClassA() { // Constructor
ClassB b = new ClassB(this);
}
class ClassB {
public ClassB(ClassA a) {...}
}
this关键字实际上是指它所在的对象(类)。