如何将一个方法指向您从中调用该方法的对象? (java)

时间:2018-07-05 18:36:23

标签: java

我正在为java中的对象创建一个方法,但是我想将我所在的对象用作参数。例如:

public void method1(String name)
{
     example = new object2(name, object1);
}  

其中object1应该是我从中调用方法的对象。因此,我想创建另一个类的新对象,该类将使用该对象作为参数。

我试图查找是否已经存在有关此问题,但找不到它。我读了其他问题(〜10个),看它们是否包含我所需要的内容,但没有。如果有人确实找到了重复项,他/她是否足够友善地解释他们使用的搜索内容?

2 个答案:

答案 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