Mate, I have a very simple code where I am printing "this" along with "object" of the class. As per theory "this" refers to current "object", but in my code it looks like "this" is not referring to current object. Need some guidance please

This is my output :

```
costructor this hash : Sandbox.Apple@1540e19d
newApple hash : Sandbox.Apple@1540e19d
this hash : Sandbox.Apple@1540e19d
costructor this hash : Sandbox.Apple@677327b6
apples hash : Sandbox.Apple@677327b6
this hash : Sandbox.Apple@1540e19d

```

My Question is why the last line of the output i.e. 

```
this hash : Sandbox.Apple@1540e19d

```

is referring to `1540e19d`instead of `677327b6`

```
public class ThisKeyword {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Apple newApple = new Apple("Green Apple");
    System.out.println("newApple hash : " + newApple);

    newApple.calculateQuantity();
    newApple.testThis();
}

}

class Apple {
    String name;

public Apple(String name) {
    this.name = name;
    // TODO Auto-generated constructor stub
    System.out.println("costructor this hash : " + this);
}

public void calculateQuantity() {

    System.out.println("this hash : " + this);
}

public void testThis() {
    Apple apples = new Apple("Red Apple");
    System.out.println("apples hash : " + apples);
    System.out.println("this hash : " + this);
}

}

```