gpt4 book ai didi

Java - 如何查找对象所属的类

转载 作者:行者123 更新时间:2023-11-30 05:08:58 25 4
gpt4 key购买 nike

Java中有没有办法找到对象所属的类?

class WrapperClass
{
SomeObject o;
...
someMethodOfWrapperClass()
{ ... }
}

[...]

SomeObject foo = new SomeObject();
WrapperClass wrap = new WrapperClass();
wrap.o = foo;

有什么方法可以从 SomeObject 对象或其方法之一中找到相应的 WrapperClass 对象 wrap 吗?
大致如下:

foo.getWrapperClassObject().someMethodOfWrapperClass();

提前非常感谢您!!

托马斯

最佳答案

简短的回答是“不”。

您可以按照用户 robev 的建议,将对包装类的引用传递到 SomeObject 中,但这会在两个类之间创建循环关系,WrapperClass 不是更长实际上是一个包装类。

这引出了一个问题:为什么你要尝试这样做。

在大多数情况下,当我们创建包装类时,我们正在包装我们无法控制的代码,因此您通常甚至无法修改 SomeObject 的构造函数。

您是否考虑过尝试继承?也许您的 WrapperClass 应该扩展 SomeObject,添加 someMethodOfWrapperClass() 方法作为附加行为。

也许是这样的:

public class ExtendingClass extend SomeObject
{
public void someMethodOfExtendingClass()
{ ... }
}

// so you can define an instance 'foo' which is ALSO an instance of SomeObject
ExtendingClass foo = new ExtendingClass();

// now you can call...
foo.someMethodOfExtendingClass();

关于Java - 如何查找对象所属的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4137812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com