Object类
超类、基类,所有类的直接或间接父类,位于继承树的最顶层
任何类在没有显示继承了某个类时,都默认继承Object类。
Object类中所定义的方法是所有对象都具有的方法
Object类型可以存储任何对象
方法:getClass、hashCode、toString、equals、clone、notify、wait
getClass()方法
返回当前对象的类类型,实际对象类型
应用于:判断两个引用中实际存储对象类型是否一致。
添加get、set方法,构造方法
hashCode()方法
用来返回对象的哈希码值,(int值),根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值。
一般情况相同的对象返回相同哈希码。
定义两个对象,这两个hashCode值不一样,它是两个不同的空间
输出
如果定义一个s3=s1,则它的hashCode值一样
输出
toString()方法
返回该对象的字符串表示
可根据程序需求覆盖该方法
输出
从Object类中继承过来的方法,默认返回的数据
如果想看到学生的具体信息,可以重写toString方法
输出
equals方法
用来比较两个对象是否相等,相等的话返回true,不相等返回false
返回值是布尔类型
比较的是两个对象的地址
输出
比较s1和s2的地址,不一样
如果定义两个相同的
输出结果
也是false,他们的地址依然不一样,如果想得到true,可以对equals进行重写
输出
clone方法
https://blog.csdn.net/qq_33314107/article/details/80271963?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162510169516780265493394%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162510169516780265493394&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-80271963.first_rank_v2_pc_rank_v29&utm_term=clone&spm=1018.2226.3001.4187
notify方法
多线程时用到的方法,唤醒该对象等待的某个线程
当前的线程已经放弃对资源的占有, 通知等待的线程来获得对资源的占有权,但是只有一个线程能够从wait状态中恢复,然后继续运行wait()后面的语句;只会唤醒等待该锁的其中一个线程
wait方法
多线程时用到的方法,作用是让当前线程进入等待状态,同时也会让当前线程释放它所持有的锁。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,当前线程被唤醒