我正在为java中的对象创建一个方法,但是我想将我所在的对象用作参数。例如:
public void method1(String name)
{
example = new object2(name, object1);
}
其中object1应该是我从中调用方法的对象。因此,我想创建另一个类的新对象,该类将使用该对象作为参数。
我试图查找是否已经存在有关此问题,但找不到它。我读了其他问题(〜10个),看它们是否包含我所需要的内容,但没有。如果有人确实找到了重复项,他/她是否足够友善地解释他们使用的搜索内容?
答案 0 :(得分:4)
在Java中,您所在的对象(在方法调用的句点之前找到的对象)由关键字this
引用。因此,您的示例将变为:
public void method1(String name)
{
example = new object2(name, this);
}
然后,如果您调用myObject.method1("Peter")
,则来自调用位置的myObject
将成为方法内的this
。
答案 1 :(得分:0)
在您的问题主题下有一个好的模式。这是装饰器模式https://en.wikipedia.org/wiki/Decorator_pattern。