? An inner class is a class that is defined inside another class. Why would you want to do that? There are three reasons:
? Inner class methods can access the data from the scope in which they are defined—including the data that would otherwise be private.
? Inner classes can be hidden from other classes in the same package.
? Anonymous inner classes are handy when you want to define callbacks without writing a lot of code.