Object里面有什么方法

Object里面有什么方法

Object类是一个特殊的类,是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。这里主要总结Object类中的三个常用方法:toString()、equals()、hashCode()。

1.取得对象信息的方法:toString()
该方法在打印对象时被调用,将对象信息变为字符串返回,默认输出对象地址。

 class People{
    private String name;
    public People(String name){
       this.name = name;
    }
 }
 class TestDemo{
    public static void main(String[] args){
        People p = new People("zs");
        System.out.println(p);//打印:ClassNotes.People@15db9742
        System.out.println(p.toString());//打印:ClassNotes.People@15db9742
    }
 }

上述结果看出编译器默认调用toString()方法输出对象,但输出的是对象的地址,我们并不能看懂它的意思。那么就要通过重写Object类的toString()方法来输出对象属性信息。
2. 对象相等判断方法:equals()
该方法用于比较对象是否相等,而且此方法必须被重写。Object源码底层equals方法的实现默认==比较地址

3. 对象签名:hashCode()
该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象拥有相等的.hashCode。

4. getClass()
返回此 Object 的运行类的Class对象。Class对象保存当前类的类信息。

5. clone()
创建并返回此对象的一个副本。

6. notify()
唤醒在此对象监视器上等待的单个线程。

7. notifyAll()
唤醒在此对象监视器上等待的所有线程。

8. wait(long timeout)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。

9. wait(long timeout, int nanos)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

10. wait()
用于让当前线程失去操作权限,当前线程进入等待序列

11. finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

   **本人才疏学浅,如有错误,烦请指出,谢谢!**
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值