抱歉,这个问题非常模糊/令人困惑,我真的不知道如何命名这个问题。如果有人有更好的,请随意编辑它。谈谈我的问题,
public class Foo()
{
String name;
public Foo()
{
Bar temp = new Bar();
}
}
public class Bar()
{
public Bar()
{
setFooName("newName");
}
public void setFooName(String name)
{
// Is it possible call a method in Foo?
}
}
public class test {
static public void main(String[] args)
{
Foo foobar = new Foo();
}
}
我对java还是个新手,所以我不确定这是否可能,但是使用C++我通常会在“Boo”类中拥有一个“Foo”的局部变量,然后传递一个引用将对象放入Bar的构造函数中,然后将其赋值给Bar中的局部变量。
由于 java 没有引用,我陷入了困境。我想要这样做的原因是我的示例是我需要在类内部创建一个 GUI 对象,然后将来自 GUI 对象的信息发送回创建它的类。
我确实希望这一切都有意义,如果没有,抱歉。
最佳答案
我认为你已经陷入了语义学的困境。
以下示例通过 Bar
的构造函数将 Foo
的引用副本传递给 Bar
。现在,Bar
可以访问 Foo
实例的属性。它不允许您做的是更改两者之间的引用(即在 bar 内分配 Foo
的新引用不会更改以前的引用)
public class Foo()
{
String name;
public Foo()
{
Bar temp = new Bar(this);
}
}
public class Bar()
{
private Foo foo;
public Bar(Foo foo)
{
this.foo = foo;
setFooName("newName");
}
public void setFooName(String name)
{
// Is it possible call a method in Foo?
}
}
public class test {
static public void main(String[] args)
{
Foo foobar = new Foo();
}
}
然后,Bar
可以调用 Foo
提供的任何修饰符,并且它会为每个引用它的人更改 Foo
的各个属性。实例...
我希望这与您的要求很接近:P
关于java - 由于java没有引用,如何在两个单独的类之间传递信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095308/