if you define a class INSIDE another class, you get what's called, appropriatly, an inner class. These are what you are seeing with the dollar sign. you may want to check out the campfire article on
Inner Classes
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors