Is not an enclosing class Java
ZShape is not static so it requires an instance of the outer class. The simplest solution is to make ZShape and any nested class static if you can. I would also make any fields final or static final that you can as well.