I"ve thought i have noticed some strange behavior after compiling. most of the time i compile the class files update with my changes. Now and then i feel i need to delete my class files in the folder and do essentially a rebuild all to make the program start working properly. Are there cases where the class files running are not the ones you think are running or it doesnt write to them all or the class loader picks another class file with the same class in it even though its scoped differently like frame$ball.class vs frame$panel$ball.class.


One thing that might cause "strange effects" is the way that public static final (or protected/default static final for sub/package classes) are handled. Those values compiled directly into the class using them, so a change to one of those without recompiling the classes that use them will cause a "disconnect". I.E. the other classes will still be using the original value.