Object类的九个⽅法
Java中,所有类都要继承Object类,Object类有九个⽅法,具体如下:
1.getClass⽅法
final⽅法,获得运⾏时类型。⼀般情况,是对象调⽤,⽤作⽐对等操作。
2.toString⽅法
该⽅法⽤得⽐较多,⼀般⼦类都有覆盖,⼦类⼀般返回的是类对象名称。
3.clone⽅法
保护⽅法,实现对象的浅复制,只有实现了Cloneable接⼝才可以调⽤该⽅法,否则抛出CloneNotSupportedException异常。克隆的另⼀个意义,创建新对象的另类⽅式。
4.finalize⽅法
该⽅法⽤于释放资源。因为⽆法确定该⽅法什么时候被调⽤,很少使⽤。
5.hashCode⽅法
该⽅法⽤于哈希查,重写了equals⽅法⼀般都要重写hashCode⽅法。这个⽅法在⼀些具有哈希功能的Collection中⽤到。
⼀般必须满⾜obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不⼀定就满⾜equals。不过为了提⾼效率,应该尽量使上⾯两个条件接近等价。
6.equals⽅法
该⽅法是⾮常重要的⼀个⽅法。⼀般equals和==是不⼀样的,但是在Object中两者是⼀样的。⼦类⼀般都要重写这个⽅法。
7.wait⽅法
wait⽅法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()⽅法⼀直等待,直到获得锁或者被中断。wait(long timeout)设定⼀个超时间隔,如果在规定时间内没有获得锁就返回。
调⽤该⽅法后当前线程进⼊睡眠状态,直到以下事件发⽣。
(1)其他线程调⽤了该对象的notify⽅法。
(2)其他线程调⽤了该对象的notifyAll⽅法。
(3)其他线程调⽤了interrupt中断该线程。
clone(4)时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出⼀个InterruptedException异常。
8.notify⽅法
该⽅法唤醒在该对象上等待的某个线程。
9.notifyAll⽅法
该⽅法唤醒在该对象上等待的所有线程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论