With this code:

```
class SuperTest {
    SuperTest() { whoAmI(); }
    void whoAmI() { System.out.println(getClass().getName()); }
}

class Test extends SuperTest {
    Test() { whoAmI(); }        
}

```

`new Test()` will print `"Test"` twice. As a beginner I was expecting the output to be `"SuperTest / Test"`. I understand now why this is not possible, and why the implicit `this` will refer to child type only.

However I can't find what `whoAmI()` should be to actually print the output `SuperTest / Test`.
Said otherwise: how can `whoAmI()` access the name of the type it is "called from"?

EDIT: I'm changing the title of the question for a new one which describes the problem better.
(old was: Inheritance: Is there a "this-equivalent" construct to refer to super type from derived type).