Object(所有类的父类,超类)[待补充]

本文详细介绍了Java中的Object类,它是所有类的父类。内容涵盖Object类的构造方法、clone()、equals()、finalize()、getClass()、hashCode()、notify()、notifyAll()、toString()、wait()等方法的使用和原理,特别是equals()方法的源码分析,揭示了对象相等性的判断逻辑。此外,还讨论了wait()方法的不同超时版本以及它们在多线程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object类是所有类的父类,因此研究Object类很重要。多看源码,多总结。
Object类方法:
在这里插入图片描述

一 Object类方法总结

1.Object(),默认构造方法。

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

3.equals(Object obj),指示某个其他对象是否与此对象“相等”

Object类equals方法源码

指示某个其他对象是否“等于”此对象。

在这里插入图片描述
理解Object 是一个类,也是一个对象。 源码中对于Object类来说==和equals是相同的。Object的值是引用(地址),==与equals没有区别。(对于基本类型来说,==是取值,不能用equals) ==比较的是内存地址,"equals"比较的是值

下面这个例子能很好理解==和equals的区别

        int num = 15;
        int num2 = 15;
        String x = "string";/*字符串常量是对象(string),因此可以把字符串常量的引用赋值给一个字符串变量。*/
        String y = "string";/*所以x与y具有相同的引用,因而具有相同的实体*/
        String z = new String("string");
        Object a = new  Object();
        Object b = new  Object();
        //1.基本数据类型不属于对象,所以不能调用equals方法,==判断的是数据的值
        System.out.println("基本数据类型");
        System.out.println(num == num2);
        //2.引用类型数据,==取的是引用的值,引用的值就是内存地址,equals方法取比较两个对象的实体是否相同
        System.out.println("引用类型数据");
        System.out.println(x==y); // true,x和y的引用值是相等的,

        System.out.println(x==z); // false
        System.out.println(x.equals(y)); // true
        System.out.println(x.equals(z)); // true
        //3.对于Obejct对象==与equals没有区别,因为Object对象的值就是地址。
        System.out.println("Obeject类");
        System.out.println(a==b);//false
        System.out.println(a.equals(b));//false

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

5.getClass(),返回一个对象的运行时类

6.hashCode(),返回该对象的哈希码值

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

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

9.toString(),返回该对象的字符串表示

10.wait(),导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值