Java Review之Object类

Object类介绍

介绍

Object类是所有java类的根基类,所有的类都是从它继承下来。

方法组成

  1. getClass()
    用于获取运行时类对象

  2. toString()
    一种类型对象进行打印输出或者与字符串类型进行拼接的时候,这个类型的对象都会自动调用toString()方法转换成字符串类型再进行后续操作,如果这个类型没有自己实现toString方法,则调用Object类的,默认返回这个类的ClassName+‘@’+一个hashCode为参数计算的无符号16进制

  3. equals(obj)
    非常重要的一个方法,用于判断对象与对象之间是否相等,注意:equals与== 不一样, equals只判断对象的值是否相等,==除了判断对象的值,还需要判断对象的内存地址是否一样 注意:equals的参数是Object类型的

  4. hashCode()
    此方法返回对象的hash值,主要用于一些集合类(例如HashMap)中进行对象哈希查找,需要强调一对:此方法与equals是一对的,对象重写equals方法一定要把hashcode方法也一起重写, 而且选取相同的属性进行运算 定理:equals的两个对象hashCode一定相等,hashCode相等的两个对象不一定equals

  5. wait()
    用于暂停持有对象的线程,让出资源,让当前线程进入等待状态, 他与Thread的sleep方法有着本质的区别,wait方法是让线程进入等待状态,此时并不占用对象资源,其他线程可以占用该对象,而sleep方法是霸占着对象资源睡大觉,其他线程只能眼巴巴等着。 该线程wait之后进入等等状态,想要再进入调度状态需要用以下方式唤醒, 1.调用了notify或者notifyAll方法 2.wait()方法设置的等待时间到了 3.其它线程调用了中断线程方法interrupt方法

  6. notify()
    用于唤醒在对象上等待的某个线程

  7. notifyAll()
    用于唤醒在对象上等待的所有线程

  8. clone()
    浅拷贝方法,用于快速创建对象,但是因为是浅拷贝,所以创建后的对象改变,原对象也会跟着改变,如果需要深拷贝,需要子类重写clone方法,方法中返回一个重新new的实例对象

  9. finalize()
    用于释放资源的,但是因为无法知晓何时回调用释放,所以现实中很少使用该方法

转载于:https://my.oschina.net/joeyjava/blog/2962513

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值