Object中的方法

一开始学习java就知道object类是所有类的父类,任何生成的新类都继承自它,即使你没有extends操作构造出来的对象也包含以下方法:
public class TestObject {
public static void main(String[] args) {
TestObject to = new TestObject();
to.clone();
to.equals("");
to.finalize();
to.getClass();
to.hashCode();
to.notify();
to.notifyAll();
to.toString();
to.wait();
to.wait(timeout);
to.wait(timeout, nanos);
}
}

现在我们知道,任何类都继有Object类的这些方法了,那么他们分别的作用是什么呢?我们继续往下看。
1 to.clone() 返回一个Object的对象。其目的就是将一个对象的属性完全的复制给另一个对象。
2 to.equals() 返回一个boolean 目的是比较两个对象是否相同,当然包括内容和引用完全相同,也就是公用一个内存单元。
3 to.finalize() 无返回类型 此方法在垃圾回收器确定对于该对象没有更多的引用时,由对象调用该方法通知JVM进行垃圾回收!
4 to.getClass() 返回一个Class 通过调用此方法可以得到该对象是属于哪个类的实例。
5 to.hashCode() 返回一个int类型 得到该对象的hash码,可以用来判断两个对象是否相等。
6 to.notify() 无返回类型 用于唤醒某个线程。7 同理to.notifyAll()用于唤醒所有等待的线程。使得线程从等待状态改变为可运行状态。但并不代表线程可以马上执行,还需要等待CPU时间片的分配。
8 to.wait() 无返回类型,当执行该方法使得当前线程放弃运行的资格,释放资源锁,让其他线程去执行,直到调用了notify方法后才能被唤醒并加入到线程的激烈竞争中继续执行。
9 to.wait(timeout) 这个方法可以使该线程放弃运行权多长时间后重启获得运行权继续执行。
10 to.wait(timeout,nanos) 当其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

其实自己理解的也不详细,还需继续理解!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值