Object对象方法有哪些?作用?(一)

Object方法

从宏观看object方法总共有9个,首先声明的是object是一切对象的父方法,所以这些方法对于任何一个类来说都有这些方法具体分析各个方法的作用是什么.
在这里插入图片描述

registerNatives

让Jvm发现你本地的功能

 private static native void registerNatives();
    static {
        registerNatives();
    }

getClass

返回正在运行的class 类,一般当我们在多线程的时候想看那个线程正在执行的时候可以查看

public final native Class<?> getClass();

hashcode

可以想象数组的索引,表示Hash码值

public native int hashCode();

重写hashcode

 public static int hashCode(boolean value) {
        return value ? 1231 : 1237;
    }

equal

从equal可以看出我们比较的是对象的引用,他其实与== 没有差别, 但是为什么我们认为他是比较的内容?因为我们重写了他

    public boolean equals(Object obj) {
        return (this == obj);
    }
   //重写,比较的是内容
    public boolean equals(Object obj) {
        if (obj instanceof Boolean) {
            return value == ((Boolean)obj).booleanValue();
        }
        return false;
    }

equal与Hashcode区别

equal其实和hashcode 都是比价的印象引用,但是在某种情况下,equal相等但是Hashcode一定相等,你可以理解为,但是hashcode不相同的时候,equal可以相同,

为什么有了Hashcode还会有equal呢

因为equal效率比较低,他比较全面并且复杂,就像equal相等hashcode一定相等,但是hashcode相同equal不一定相同,所以我们在比较的时候先比较hashcode,如果hashcode都不相等,equal绝对不相等

Clone

赋值一份引用

 protected native Object clone() throws CloneNotSupportedException;

toString

有的时候我们打印类的时候加上tostring,会发现是XX@244545, 这其实就是他的格式,一般情况下我们都会重写它

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

notify

他的作用就是唤醒等待的线程

 public final native void notify();

notifyALL

他的作用就是唤醒所有等待的线程

wait

他的作用就是让线程是否锁,处于等待状态

notify和wait

notify和wait是一对,一般在发布订阅只可以使用

finalize

他的作用主要就是当jvm进行垃圾回收之前会执行,用于释放资源,在释放资源之前她会先检查一下该对象的状态是否可达,一般情况下不要调用,因为会抛异常,如果已经释放资源,你依旧调用这个时候就会抛出异常

   protected void finalize() throws Throwable { }

总结

没有做不到的,只有不想做的 lucky O(∩_∩)O~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芬-ghqr-264962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值