class A is the outer class. Class B is an inner class of A, and class C is an inner class of B.

All three classes declare and initialize one static final variable.

This is the object in class A:

```
static final Object x = new Object();

```

class B:

```
static final Object x1 = new Object();

```

class C:

```
static final Object x2 = new Object();

```

The problem is that the variable in class A compiles fine, but in B and C the variable does not. 

**Error message:**

> 
> the field can not be declare static; static field only declared in
>  static and top level type
> 
> 
> 

The `String`, and `int` in class B and C doesn't receive an error.

Complete code:

```
class A {
  static final Object x = new Object();
  static final String s = "s1";
  static final int y = 1;

  class B {
    static final Object x1 = new Object();
    static final String s1 = "s1";
    static final int y1 = 1;

     class C {
      static final Object x2 = new Object();
      static final String s2 = "s1";
      static final int y2 = 1;
     }
  }
}

```