A class file contains the byte code generated from your original java source. Byte code can only be interpreted by a jvm. An exe doesn't need to beinterpreted since it's in machine code and the computer can read it directly.