Hi Tristan,
It's correctly false because the JVM identifies a class not just by the FQN but by the [FQN, ClassLoader] combination. If you have a class like this:
Load it via two classloaders, create an instance from each of thsoe two loaded classes, and then call
test() on one object passing the other as an argument, you'll get a ClassCastException. Even if they both came from the same class file.
This kind of thing is not just academic; itcomes up occasionally in Web and
J2EE apps that run in containers that use ClassLoaders to partition the JVM.