Wondering - why there is such error message during compile:

> 
> ClassHierarchyTest1.this Cannot be referenced from a static context
> 
> 
> 

Source code:

```
public class ClassHierarchyTest1 {
    class Foo {
        int a;
        Foo(int b) {
            this.a = b;
        }
    }

    public static void main(String[] args) {
        Foo f = new Foo(1); // this line has the error message
    }
}

```