There are essential points that need to be understood clearly regarding "this" and "super".

by moyuhappy on 2008-08-03 16:41:36

"This is changeable, it follows the thing after 'new', while 'super' is fixed."

"In the parent class: when 'this' is used, it refers to the instance created by 'new'. However, 'super' always refers to the direct parent class in a fixed manner."

```java

// Parent class

class FatherClass {

public int value;

public void f() {

this.run(); // Note that 'this' is used here. Pay attention.

}

public void run() {

System.out.println("FatherClass run method");

}

}

```

In the above code:

- `this` refers to the current object of `FatherClass` (or its subclass if instantiated as such).

- If there were a subclass and you used `super`, it would explicitly refer to the `FatherClass` version of methods or variables.