Returns the same hashcode for the given object as would be returned by
the default method hashCode(), whether or not the given object's class
overrides hashCode().
Thrown when an application tries to load in a class, but the currently
executing method does not have access to the definition of the specified
class, because the class is not public and in another package.
Thrown to indicate that a thread has attempted to wait on an object's
monitor or to notify other threads waiting on an object's monitor without
owning the specified monitor.
Thrown when an application tries to create an instance of a class using the
newInstance method in class Class, but the specified class object cannot be
instantiated because it is an interface or is an abstract class.
Determines if the class or interface represented by this Class object is
either the same as, or is a superclass or superinterface of, the class
or interface represented by the specified Class parameter.