Inner classes

Inner classes have been called "dangerous" by several Java security guidelines. However, there is no additional danger inherent in the use of inner classes that is not inherent in the use of other types of polymorphism. In general, use as little polymorphism as possible since it, by default, it exposes data.