Java对象可以自己传递一个实例

时间:2010-10-12 13:01:12

标签: java

我有一个名为SomeClass的类,它有一个名为methodToCall(SomeClass o)

的方法

如果我像这样实例化SomeClass:

SomeClass itsObject = new SomeClass();

我可以这样做:

itsObject.methodToCall(itsObject);

5 个答案:

答案 0 :(得分:11)

绝对。当然,这将取决于实施情况。

仅作为示例,equals被定义为反身,例如:

x.equals(x)

应始终返回true(假设x为非空)。

答案 1 :(得分:9)

是的,你可以。

一个(人为的)例子:

BigInteger one = BigInteger.ONE;
BigInteger two = one.add(one);

(你应该在IDE中尝试这些东西 - 它比写一个问题花费的时间少)

答案 2 :(得分:2)

默认情况下,这是 你不需要指定它。在方法体中,您可以将其引用为this

注意:方法不应该是静态的

如果你想在外部指明你可以做到这一点。

答案 3 :(得分:2)

是。没有什么可以阻止你这样做。

答案 4 :(得分:1)

是的,只要methodToCall接受SomeClass类型的对象(或派生自SomeClass的类)作为参数,就可以这样做:

public void methodToCall(SomeClass parameter){.....}

你可以从课外召唤:

yourObject.methodToCall(yourObject)

或在课堂内,使用 this

public class SomeClass{
    ...
    public void AnotherMethod(SomeClass parameter)
    {
       this.methodToCall(this);
    }
    ...
}