我作为一个小白的学习成长笔记,难免有错~
Object类是所有类的父类,如果一个没有用extends明确指出继承于某个类,则它默认继承object类。这里总结object类的11个方法;
1.toString()
该方法在打印对象时将被调用,将对象信息变为字符串返回,默认输出的是对象地址。
输出结果
编译器默认调用toString()方法输出的是对象地址,如果需要输出对象属性信息,则需要重写Object类的toString()方法。
2.equals()
该方法用于比较对象是否相等,而且该方法必须被重写!
输出结果
equals()方法比较的是两个对象的地址
3.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()