Java 试图从其他类中访问类的实例

Java 试图从其他类中访问类的实例,java,Java,我试图从一个类中访问一个函数,而该类不是在其中创建的 基本上我有一个可以做b.refresh()的类A b显然包含称为刷新的函数。我现在想让C类访问它 所以在我看来,这就像是c.b.刷新();但这显然不起作用 我需要做什么才能让它工作?只允许一个B实例 主要类别: B b = new b(); b.refresh(); C c = new C(); C内: function() { //want to access the same b from Main class. } 如果C类不想简单

我试图从一个类中访问一个函数,而该类不是在其中创建的

基本上我有一个可以做b.refresh()的类A

b显然包含称为刷新的函数。我现在想让C类访问它

所以在我看来,这就像是c.b.刷新();但这显然不起作用

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

主要类别:

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

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

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

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

类A没有出现在图片中

我假设您希望共享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);

我不明白,请添加一些代码(包括提到的类和相关方法签名的基础知识),您需要重新审视对象和类之间的区别。Mayank的回答将有效,除非两个类都需要在
b
的同一实例上调用该方法。是这样吗?是的,我希望他们访问与
A
相同的bPass
B
实例到
C
的构造函数+1中,假设问题不涉及
C
需要在
B
的相同实例上调用该方法,而
A
持有该方法。问题是类B是一个gui。因此,这不会影响它,因为它会创建一个新的B。因此,您需要更新您的问题,以澄清只允许一个
B
实例。