Compiler Error J0136

Public class 'identifier' should not be defined in 'identifier'

The compiler detected more than one class declared with the modifier public in a source file. Remove the public access modifier from other classes and ensure that the class that will be exposed through the class file is declared as public. You can also move classes that need to remain declared as public to their own source file. This error can also occur if a source file has a different name than the public class defined within it, or the public class and the source file do not match in case. Rename the source file or the name of the public class defined within it so that they are the same and compile again.

The following example illustrates this error:

public class Simple {
   
   // do something meaningful
   
}

public class Errorclass {
   
   // error: only one class may be defined as 
   // 'public' within the same source file
   
}