Object类中定义实现的方法

来源:互联网 发布:蒲公英淘客软件 编辑:程序博客网 时间:2024/05/16 04:39

Object是所有类的父类,任何类都默认继承Object。

1.clone()
创建并返回此对象的一个副本。实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法。
浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而其所有的对其他对象的引用都仍然指向原来的对象。
一个对象中的字段有的是值类型的,有的是引用类型的。对于值类型字段来说,它的值就是简单的值,而对于引用类型来说,它的值是地址。
浅复制在复制时,将这个对象的值字段和引用字段(均为非静态字段)全部复制过去,获得了这个对象的值和地址。
即:当其中一个对象的引用字段所指向的地址中的变量变化时,所有浅复制对象中的该引用字段都会发生变化。
深复制:被复制对象会将所有非引用类型的字段复制给新对象,同时将引用类型所指向地址中存的对象复制给新的对象。
2.getClass()
返回一个对象的运行时类。
3.toString()
返回该对象的字符串表示。
4.finalize() 
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
5.hashCode() 
返回该对象的哈希码值。
6.equals(Object obj) 
指示某个其他对象是否与此对象“相等”。它在Object类中的实现是判断两个对象是否指向同一块内存区域。
7.wait() 
使当前线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法。
8.wait(long timeout) 
使当前线程等待,直到其他线程调用此对象notify()方法或notifyAll()方法,或一个指定的时间已经过去。
9.wait(long timeout, int nano) 

使当前线程等待,直到其他线程调用此对象notify()方法或notifyAll()方法,或一个指定的时间已经过去。
timeout -- 最大的等待时间(以毫秒为单位)。
nanos -- 额外的时间,在纳秒范围为0-999999。
10.notify() 
唤醒在该对象上等待的某个线程。
11.notifyAll() 
唤醒在该对象上等待的所有线程。

0 0