1) What’s the difference between Java and AS3 getters and setters? In Java, getter and setter methods have to be explicitly called. While in AS3, they’re called automatically and externally indistinguishable from public properties. For instance trace(myClass.foo) might be referencing a public property or it might be referencing the method “public get foo():Object”. It makes no difference to an external class. — You can expand on this a bit more to describe why this is useful. The implications are that, unlike in Java, all variables in a class are generally public. Java standard practices are to create only public getters and setters while keeping the variables private. The reason for only allowing methods to be publicly accessible is so that 1) they can be overridden and 2) their implementation can change without altering class interface.