Object类的几个方法解释及应用场景

1.所有对象的基类

Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

2.Object 的API

反射相关:

public final native Class<?> getClass();//本地 final 方法 返回当前实例的实际类型的Class(描述类的类)的实例
//对于如下代码,返回值就可以理解了;
//另外容易误解是因为错误的把super理解成扩展类对象所包含的基类的部分(这样的理解是组合关系不是扩展关系)
//因为扩展类对象和基类对象没有任何关系,是独立的;具体参看我前面的文章 https://my.oschina.net/Aruforce/blog/1615140这个文章来矫正
super.getClass().getName()

比较相关:

public boolean equals(Object obj) {
        return (this == obj);
}//如果扩展类没有重写本方法,则默认的比较的是地址;String 和基本类型包装类均进行了重写,比较的是内容。

多线程同步相关:

 public final native void notify();//当前线程(持有本对象的锁的线程)释放对象锁,并随机的激活阻塞在欲获取本对象的锁的线程队列区中的一个线程来获取本对象的锁。
 public final native void notifyAll();//激活全部
 public final native void wait(long timeout) ;//持有本对象锁的线程释放对象锁 进入阻塞状态timeout 个毫秒

标识相关:

public native int hashCode();
//返回一个对象的哈希值,

垃圾回收:

protected void finalize() ;//JVM保证在对象被回收时执行的方法,一般由Java代码生成的对象不用重写,但是由其他语言生成的对象就需要重写(这些对象可能不满足GC的要求)

转载于:https://my.oschina.net/Aruforce/blog/1615437

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值