? ? ? ?Java中Object类是所有类的父类,可以理解为他是最抽象的一个类型,就像混沌,Java所有类型都继承自它,所有对象(包括数组)都实现这个类的方法。非常重要,下面我来根据JDK官方文档来带大家学习一下这个类的所有方法。
?下面是JDK1.6中的object方法摘要,一共有11种方法。本篇文章会详细介绍这11种方法该如何去使用。
object类中的toString方法实现:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
该方法的主要作用是打印对象的内容,我们在使用中一般通过在继承类中重写该方法来自定义实现对具体对象的打印。
该方法的作用是比较对象内容
该方法用于计算对象的哈希值,源码如下:
public native int hashCode();
这是一个native方法,底层代码是用C/C++实现的。
该方法一般在具有哈希功能的Collection中使用。
该方法负责把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制(浅拷贝)。
只有实现Cloneable接口的类才能使用clone()方法,而且使用前需要重写。
@override
protected Object clone() throws CloneNotSupportedException{
//调用父类中的clone方法
//相当于让Java帮我们克隆一个对象,并把克隆之后的对象返回出去。
return super.clone();
Cloneable接口:内部没有抽象方法,表示当前的接口是一个标记性接口。
? ?final方法,在反射中使用,用已返回Class类型的对象。
使线程进入等待状态,直到以下事件发生:
使线程进入等待状态,直到以下事件发生:
用法同上,这里的
timeout
- 要等待的最长时间(以毫秒为单位)。
nanos
- 额外时间(以毫微秒为单位,范围是 0-999999)。
该方法用来唤醒在该对象上等待的某个线程。选择是任意性的。
该方法用来唤醒在该对象上等待的所有线程。
当JVM的垃圾回收器确定不存在该对象的更多引用时,由垃圾回收器调用此方法。
因为不确定该方法什么时候被调用,很少使用。