Object中的方法详解

Object中的方法详解

Java 语言是一种单根继承结构语言,也就是说,Java 中所有的类都有一个共同的祖先,这个祖先就是 Object 类。则子类会继承所有 Object 类中的 public 方法。

一、所有方法如下图所示

在这里插入图片描述

二、 方法详解

  1. registerNatives()
    这是一个native方法,说明这个方法的实现不是在java中,而是由C/C++实现,并编译成.dll文件,由java调用。registerNatives主要是将C/C++的方法映射到java中的native方法,实现方法命名的解耦。了解即可,知道是注册,细节暂时不研究。
  2. clone方法
    clone方法是native方法,native方法的效率远高于非native方法,因此还是使用clone方法去做对象的拷贝而不是使用new的方法,copy。此方法被protected修饰。这就意味着想要使用,必须继承它(废话,默认都是继承的)。然后重载它,如果想要使得其他类能使用这个类,需要设置成public。返回值是一个Object对象,所以要强制转换才行。
    保护方法,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出 CloneNotSupportedException 异常。
  3. getClass 方法
    final 方法,获得运行时类的类型。
  4. toString 方法
    返回一个 String 对象,用来标识自己。该方法用得比较多,一般子类都有覆盖。
  5. finalize 方法
    该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
  6. equals 方法
    该方法是非常重要的一个方法。一般 equals 和 == 是不一样的,但是在 Object 中两者是一样的。子类一般都要重写这个方法。
  7. hashCode 方法
    该方法用于哈希查找,重写了 equals 方法一般都要重写 hashCode 方法。这个方法在一些具有哈希功能的 Collection 中用到。
  8. wait 方法
    wait 方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait() 方法一直等待,直到获得锁或者被中断。wait(long timeout) 设定一个超时间隔,如果在规定时间内没有获得锁就返回。
    调用该方法后当前线程进入睡眠状态,直到以下事件发生。
    (1)其他线程调用了该对象的 notify 方法。
    (2)其他线程调用了该对象的 notifyAll 方法。
    (3)其他线程调用了 interrupt 中断该线程。
    (4)时间间隔到了。
    此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException 异常。
  9. notify 方法
    该方法唤醒在该对象上等待的某个线程。
  10. notifyAll 方法
    该方法唤醒在该对象上等待的所有线程。

》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值