Этот вопрос используется, как способ начать разговор – по большинству методов можно уйти в обсуждении далеко вглубь. В первую очередь важно запомнить сигнатуры – не зная ответов на вопросы по этим методам, можно будет хотя бы рассуждать отталкиваясь от них. Также полезно открыть исходник и внимательно прочитать javadoc-документацию. Поступим как на интервью, и далее рассмотрим каждый из методов детально. Их список:

🔘 public final native Class<?> getClass()
🔘 public native int hashCode()
🔘 public boolean equals(Object obj)
🔘 protected native Object clone() throws CloneNotSupportedException
🔘 public String toString()
🔘 public final native void notify()
🔘 public final native void notifyAll()
🔘 public final native void wait(long timeout) throws InterruptedException
🔘 public final void wait(long timeout, int nanos) throws InterruptedException
🔘 public final void wait() throws InterruptedException
🔘 protected void finalize() throws Throwable