所以我有这个场景
A类:
public class A {
B b = new B();
public void doSomething() {
// this does something
}
}
和B级:
public class B {
public B() {
// need to access A
}
}
问题是我需要从A的实例变量B访问A的实例。我该怎么做?
答案 0 :(得分:1)
您只需将A
的实例传递给B
:
class A {
B b;
A() {
b = new B(this);//<-- A's instance
}
}
class B {
A a;
B(A a) {
this.a = a;
}
}
答案 1 :(得分:0)
如果类B
需要访问A
的现有实例,那么您必须为B
实例提供对A
实例的引用。
class B {
private A a;
B(A a) {
this.a = a;
// do something with a
}
}
然后
A a = new A();
B b = new B(a);
如果您只需要在构造函数中访问A
,那么您不需要存储引用的本地副本。
答案 2 :(得分:-1)
您必须从实例A
创建新对象A aa = new A();
OR
public class B extends A {
public B() {
// need to access A
}
}
答案 3 :(得分:-1)
内心阶层似乎是最好的事情,
public class A {
B b = new B();
private int tryToAccess;
public void doSomething() {
// this does something
}
public class B{
public B()
{
tryToAccess=5;
}
}//B ends
}//A ends
注意:这只是实现目标的一种方式,您可以在此处A
访问private
class
个变量} B