Java 试图从其他类中访问类的实例
我试图从一个类中访问一个函数,而该类不是在其中创建的 基本上我有一个可以做b.refresh()的类A b显然包含称为刷新的函数。我现在想让C类访问它 所以在我看来,这就像是c.b.刷新();但这显然不起作用 我需要做什么才能让它工作?只允许一个B实例 主要类别: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 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
相同的bPassB
实例到C
的构造函数+1中,假设问题不涉及C
需要在B
的相同实例上调用该方法,而A
持有该方法。问题是类B是一个gui。因此,这不会影响它,因为它会创建一个新的B。因此,您需要更新您的问题,以澄清只允许一个B
实例。