What I was told, which sparked my curiosity on this topic:
Java gui classes can implement hundreds of Listeners and Callbacks and many books teach you to implement all these interfaces in your gui class. Alternatively, these aspects can be implemented in inner classes, so methods called by that listeners do not get mixed up.
I’d like to know how to do this in ActionScript, which doesn’t have inner classes, but has private classes. But, I don’t think I fully realize what inner classes are about, so I’m merely trying to wrap my head around the situation where I would use them to organize a class’ methods by their usages.
Please show an example of how this would look in ActionScript, if possible, otherwise Java.
In java it looks like that:
here
ActionListener– is an interface, and by callingnew ActionListener() {/*interfaces method implementations goes here*/};you’re creating anonymous class (anonymous because it has no name) – implementation of that interface.Or you can make inner class like this:
and then use it like this:
Moreover you can declare your listener as a top-level or static inner class. But using anonymous inner class sometimes is very useful because it allows you to implement your listener almost in the same place where the component which actions your listener is listening to is declared. Obviously it won’t be a good idea if the listeners methods code is very long. Then it would be better to move it into a non-anonymous inner or static nested or top-level class.
In general, innner classes are non-static classes that somehow resides inside the body of the top-level class. Here you can see examples of them in Java: