I can't tell what you're saying here. Class files are source. Dex files are compiled Java on Android.
If it's any help, I think NoNukes is referring to the .class files, compiled from the source .java files. The .class files then contain the JVM bytecode.
Instead, there is some kind of "dex" format that Google created for technical reasons related to deployment on mobile platforms.
Basically the standard JVM is a stack-based machine, so it is quite abstracted from the underlying hardware. Dalvik on older Android systems was a register-based machine and hence closer in operation to the underlying hardware, so it was more efficient. The bytecode has to be different, since it is a different machine, hence the different file type.
Dalvik itself has been replaced by the Android Runtime, which is essentially an even more modified JVM that keeps the APIs in Dex format, but the actual method bodies are compiled into native code that is linked into the VM.