$classes produced by compiler

Greeting.

I tried looking for this topic on the FAQ and various tutorials but I couldn't find it.

When I compile an application, I get a .class file with the same name as my primary class and some variable number of "$n" suffixed class files. For example, I have an application that does a least squares fit to some x,y pairs of data. My source file is called, lsFit.java. In that file, I have a public class, lsFit, that contains my constructor, main, error handling, and calculation methods. I also have a canvas class, rrCnvs, that overrides canvas and holds my graphics. When I compile lsFit.java, I get: lsFit.class, lsFit$1.class, lsFit$2.class, and rrCnvs.class. With other applications, I get varying amounts of $n classes and I can't figure out what the compiler bases these classes on. Can someone tell me?

[837 byte] By [rrashkina] at [2007-10-1 1:03:07]
# 1
Anonymous inner classes.
warnerjaa at 2007-7-8 1:21:35 > top of Java-index,Security,Event Handling...
# 2
Btw, please, pleeeeease read the naming conventions before you hand out your code to other people.
CeciNEstPasUnProgrammeura at 2007-7-8 1:21:35 > top of Java-index,Security,Event Handling...