Topic: 一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用?

  Print this page

1.一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-24 11:51

public class a
{
public void method_a()
{
b bclass = new b();
}


}

public b
{
public void method_b()
{
//get class a's ref?
}
}

2.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-24 11:54

声明:在构造函数中传参数的方法除外

3.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: lixj0571
Posted on: 2003-07-24 13:00

怎么会有这种做法呢?

4.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-24 14:26

是呀,这样的需求是不常见,但也是合理的。
各位大侠有什么高招,指点指点?

5.实际上这里的ClassB相当于C里面的回调函数 [Re: zhongyijie] Copy to clipboard
Posted by: menzy
Posted on: 2003-07-24 15:18

我以前在constructor 里面传递信息,在Class B里面生成一个方法给A调用可以解决问题的。虚拟机本身应当可以高定,但是没有提供有关方法。

6.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-24 15:41

constructor 里面怎么传递信息?你是指通过构造函数的参数吗?

7.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: floater
Posted on: 2003-07-25 03:44


public class CallerHandle
{
private A a;

public CallerHandle()
{
a = new A(this);
}

public static void main(String[] args)
{
CallerHandle ch = new CallerHandle();
System.out.println("caller=" + ch);
}
}

class A
{
private Object caller;

public A(Object caller)
{
this.caller = caller;
}
}

8.Re:一个类的方法中创建了另一个类的实例,有什么办法在被创建的类中得到创建者的引用? [Re: zhongyijie] Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-25 09:43

to floater :
谢谢你的帮助。
不过你的方法就是我声明所说的通过构造函数传参数的方式,这个我已经知道。

我想知道的是是否还有其他方法。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923