-1
System.out.println(this);

括弧内に「これ」を使用するのはなぜですか? リファレンスを印刷するためですか?または、オブジェクトが同じ参照を指しているかどうかを比較するための以下のコードのように?

public void compareDrzewo(Drzewo tree) 
{ if (tree == this) 
{ System.out.println("true"); } 
else { System.out.println("false"); }

メインメソッドコード

Drzewo name1 = name2;
name1.compareDrzewo(name2);

「これ」の他の使用例。非常に簡単です (内部クラスなど)。これまたは同様の使用についてのみコメントしてください。

4

3 に答える 3

2

そのインスタンスにはtoString()関連付けられたメソッドがあります。つまり、それを呼び出して意味のある情報を出力するか、 を使用します (つまり、メモリObjecttoString()場所を出力するため、あまり役に立ちません)。

于 2013-03-27T22:58:41.957 に答える
2

System.out.println(this)

と同じです

System.out.println(this.toString());

したがってthis、インスタンスであるクラスがメソッドをオーバーライドするtoString場合、そのコード行は意味があります。

于 2013-03-27T22:59:59.800 に答える
0

this現在のオブジェクトを参照するために使用します。

1 つの例は、クラスの現在のインスタンスを参照する場合です。たとえばsomething.equals(this)、またはsomething == this.

もう 1 つの例は、セッターなどのローカル インスタンスではなく、変数のクラス インスタンスを明示的に指定することです。

public void setMyVar(String myVar) {
    this.myVar = myVar;
}

メソッドで宣言された変数も、クラスで宣言された変数もmyVar同様です。this.myVar

于 2013-03-27T23:02:48.780 に答える