一切皆对象,Object类

我作为一个小白的学习成长笔记,难免有错~

Object类是所有类的父类,如果一个没有用extends明确指出继承于某个类,则它默认继承object类。这里总结object类的11个方法;
1.toString()

toString()源码
该方法在打印对象时将被调用,将对象信息变为字符串返回,默认输出的是对象地址。
举个栗子?
输出结果
输出结果
编译器默认调用toString()方法输出的是对象地址,如果需要输出对象属性信息,则需要重写Object类的toString()方法。

2.equals()
equals()源码
该方法用于比较对象是否相等,而且该方法必须被重写!
举个栗子?
输出结果
输出结果
equals()方法比较的是两个对象的地址

3.hashcode()
hashcode()源码
该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象拥有相等的.hashcode。
栗子?
栗子?
输出结果
输出结果
当你重写override了equals()方法之后,必须也override重写hashcode()方法,反之亦然。

4.clone()
源码
实现了对象中各个属性的复制,但它的可见范围是protected的,所以实体类使用克隆的条件是:
1️⃣实现Cloneable接口,这是一个标记接口,自身没有方法。
2️⃣覆盖clone()方法,可见性提升为public。
https://blog.csdn.net/qq_33314107/article/details/80271963
5.finalize()
源码
finalize先了解下,后面学到GC相关内容,再深入学习。
https://www.cnblogs.com/smilesmile/p/3849122.html

6.getClass()
getclass()方法可以获取一个对象的类型类,进而通过返回的Class对象获取类的相关信息,比如,父类的名字,该类的名字。
源码
举个栗子?
运行结果
运行结果

下面几个方法学习到线程相关知识的时候再补充~
7.wait()
8.notify()
9.notifyAll()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值