复习2:Object

Object

  • Object是什么
  • Object的11个方法

Object是什么

所有类的基类(父类),换而言之,所有类都继承自Object类


Object的11个方法(重要)

  • toString():输出引用类型对象的类型和hashCode
    • 打印对象时就是在调用对象的toString方法
  • equals(Object obj):比较两个对象是否相等(逻辑上)
    • 底层使用"=="实现比较,可按照需求进行重写
  • hashCode():计算对象的存储位置(在HashSet和HashMap中的位置,而非堆中的位置)
    • 源码修饰词[native]:调用本地方法(哈希算法),不需要程序员关心
    • equals能判断相等的两个元素,hashCode值必须一样
    • equals判断不相等的两个元素,hashCode值尽量不一样
    • 可按照需求进行重写,通常与equals一起重写
  • getClass():得到对象的字节码对象
  • wait():线程等待
  • wait(long timeout)
  • wait(long timeout,int nanos)
  • notify():唤醒单个线程
  • notifyAll():唤醒所有线程
  • clone():克隆对象
    • 前提:该对象必须实现[Cloneable]接口
    • 浅克隆:只克隆对象,若对象属性中存在引用(假设为A),则源对象与克隆出来的对象同时指向A
    • 深克隆:同时克隆对象与属性的引用,即存在源对象与它的属性引用A克隆出来的对象与克隆出来的属性引用B(A与B内容相同,地址不同)
  • finalize():当对象被回收时调用(相当于该对象的遗言)
    • 可按照需求进行重写

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章