我有一個叫SomeClass
類,它有一個名爲methodToCall(SomeClass o)
一個Java對象可以通過自身的自身的實例
方法如果我實例SomeClass的是這樣的:
SomeClass itsObject = new SomeClass();
我可以那麼做:
itsObject.methodToCall(itsObject);
我有一個叫SomeClass
類,它有一個名爲methodToCall(SomeClass o)
一個Java對象可以通過自身的自身的實例
方法如果我實例SomeClass的是這樣的:
SomeClass itsObject = new SomeClass();
我可以那麼做:
itsObject.methodToCall(itsObject);
絕對如此。當然,這將如何表現取決於實施。
只是作爲一個例子,equals
被定義爲反身,使得:
x.equals(x)
應該總是返回true
(假定x
是非空的)。
這將是默認情況下,
你不需要指定它。在方法體,你可以參考它作爲this
注:方法不應該是靜態的
,如果你想從外部指定你可以做到這一點很簡單。
是的。沒有什麼能阻止你這樣做。
是的,你可以。
一(人爲)例如:
BigInteger one = BigInteger.ONE;
BigInteger two = one.add(one);
(你應該試着在你的IDE這些東西 - 它需要較少的時間比寫一個問題)
同意,但我認爲如果問題是通用的並且有一個描述性標題,它將作爲未來其他人的參考。 – Ankur 2010-10-12 13:04:38
+1爲「嘗試」的事情。如此多的問題本可以通過嘗試**來解決,而不是提出問題並等待答案。 – 2010-10-12 13:32:47
是的,你可以做到這一點,只要methodToCall接受類型SomeClass的一個對象(或從SomeClass的一類派生)作爲參數:
public void methodToCall(SomeClass parameter){.....}
您可以在類的外部調用它:
yourObject.methodToCall(yourObject)
或從類中,使用這:
public class SomeClass{
...
public void AnotherMethod(SomeClass parameter)
{
this.methodToCall(this);
}
...
}
我建議你添加一些東西約'this'在你的答案 – 2010-10-12 13:05:00
@ org.life.java:我將根據這個問題,但問題的*文本*實際上並沒有實現。它是指將某物傳遞給同一個對象,而不是*那個對象*。 – 2010-10-12 13:17:12
它會在蛋糕上加上櫻桃:) – 2010-10-12 13:18:26