- Source Code: .java file -> Compiled to .class file (bytecode) using
javac - This .class file can only be run by a JVM unlike the
./a.outfiles in C/C++
- Each .java file is only allowed to have a single class that matches the name of the file
- Only one public class allowed per file and the name of this public class is the name of the file