In a JVM, "Two classes are the same class (and consequently the same type) if they are loaded by the same class loader, and they have the same fully qualified name" [JVMSpec 1999]. Two classes with the same name but different package names are distinct, as are two classes with the same fully qualified name loaded by different class loaders.
...
Bibliography
Internals of Java Class Loading | |
Twelve rules for Developing More Secure Java Code | |
...
Rule 05: Object Orientation (OBJ) OBJ10-J. Do not use public static nonfinal variables