面试题之说几个Object类常用方法以及作用

一、简介

面试中经常会被问到Object类有哪些常用的方法和各自的作用,我们都知道Object类是所有类的基类,所以我们也有必要去了解它常见API,下面我们通过一张表来总结Object类有哪些常用方法以及作用:

方法返回值类型

方法名称以及描述

protected Object

clone()

创建并返回此对象的克隆对象,一般子类会重写这个方法.

boolean

equals(Object obj)

指示某个其他对象是否“等于”这个对象.

protected void

finalize()

当垃圾收集确定没有对对象的更多引用时,由对象上的垃圾收集器调用

Class<?>

getClass()

返回此对象的运行时Class类对象

int

hashCode()

返回对象的哈希码值

void

notify()

唤醒正在此对象监视器上等待的单个线程,主要用于多线程通信中,需配合wait()方法使用

void

notifyAll()

唤醒正在此对象监视器上等待的所有线程

String

toString()

返回对象的字符串表示形式

void

wait()

导致当前线程等待,直到另一个线程调用此对象的notify()方法或notifyAll()方法

void

wait(long timeout)

导致当前线程等待,直到另一个线程调用此对象的notify()方法或notifyAll()方法,或者经过指定的时间量

void

wait(long timeout, int nanos)

导致当前线程等待,直到另一个线程调用此对象的notify()方法或notifyAll()方法,或其他一些线程中断当前线程,或已经过了一定时间

注意:wait()方法和notify()虽然是在多线程中使用到,需特别注意它不是Thread类的方法,注意sleep()睡眠方法才是Thread类的,wait()和notify()、notifyall()方法是Object类的。

更多Object类的API可以参考JDK官网文档:https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html

发布了250 篇原创文章 · 获赞 112 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/Weixiaohuai/article/details/105184764