Originariamente inviato da valia
ho capito, lui ha messo diverse classi in un solo file.
In java una classe ha lo stesso nome del file (infatti hai Figura.java e la classe principale deve avere quel nome). E' possibile avere classi inner als uo interno, ma non devono essere dichiarate public, ecco l'errore.

Se separi le classi (un file per ogni classe) e metti public non hai problemi
Non ho capito, che c'entrano le inner class? Questo compila:

codice:
class TopLevelClass {

  public class InnerClass { }

}