title: What are synthetic fields in Java?
body: <p>Can someone explain in an easy to understand way the importance of synthetic fields in Java. I recall reading it in context of non static inner classes where each such inner class instance  maintains a reference to the enclosing class. Why are such references/fields called synthetic fields?</p>