-1
System.out.println(this);

为什么要在括号中使用“this”?是为了打印参考资料吗?或者在下面的代码中比较对象是否指向相同的引用?

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

主要方法代码

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

使用“this”的其他示例。非常直接(内部类等)请仅对此或类似用途发表评论。

4

3 回答 3

2

该实例有一个toString()与之关联的方法,这意味着它将调用它来打印出有意义的信息,或者它使用Object's toString()(意味着它将打印出一个内存位置,这不太有用)。

于 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用来引用当前对象。

一个例子是当你想要引用你的类的当前实例时,所以如果你需要用你的类调用一个方法,例如something.equals(this)or something == this

另一个示例是显式指定变量的类实例而不是本地实例,例如 setter:

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

myVar方法中声明的变量也是如此this.myVar,类中声明的变量也是如此。

于 2013-03-27T23:02:48.780 回答