An enclosing instance that contains <my reference> is required
Solution 1:
You're trying to use the non-static inner positionObj
class without an instance of Secretary
for it to belong to.
A non-static inner class must belong to an instance of its parent class
You should probably change positionObj
to a normal class or a static inner class.
Alternatively, you can write someSecretary.new positionObj()
to create an instance of the inner class that belongs to the someSecretary
instance.
Solution 2:
First create an object of Outer class. In this case I think "Secretary". Then create positionObj. Like this,
Secretary x = new Secretary();
Secretary.positionObj y = x.new positionObj();