Is it because the types and memory issues have been sorted out during the compile phase meaning code will "run" without crashing? That doesn't mean the code will work (infinite loops, etc), but it will run, right?
I've seen more than one Java program that will compile, but will throw a NullPointerError that gets unhandled.