-2

我正在尝试从未在其中创建的类中访问类中的函数。

基本上我有 A 类可以做 b.refresh();

b 显然包含称为刷新的功能。我现在希望 C 类访问它。

所以在我看来,它就像 cbrefresh(); 但这显然行不通。

我需要做什么才能让它工作?只允许 B 的一个实例。

主类:

B b = new b();
b.refresh();
C c = new C();

C内:

function() {
//want to access the same b from Main class.
}
4

2 回答 2

2

如果 C 类想要简单地从 B 类访问方法

B b=new B();
b.refresh();

A类没有出现

于 2012-11-01T11:50:01.797 回答
2

我假设您想共享 B 实例:

public class C {

   private B b;

   C(B b) {
      this.b = b;
   }

   public refresh() {
      b.refresh();
  }
}

现在你可以这样做:

B b = new B();
C c = new C(b);
c.refresh();

同样,您可以对传递相同 B 实例的 A 类执行以下操作:

A a = new A(b);
于 2012-11-01T11:51:59.210 回答