Java--面向对象五(Object类与包装类)

6、Object类

 6.1 Object类的概述

  • Object类是所Java类的根父类

  • 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类

  • Object类中的功能(属性、方法)就具通用性,Object类没有属性

  • Object类只声明了一个空参的构造器

 6.2 Object类的方法

  • getClass():返回此Object的运行时类
  • hashCode() :获取哈希码(int整数),也称为散列码;作用是确定该对象在哈希表中的索引位置
  • equals(Object obj): 用来判断两个对象是否相等
  • clone():本地clone方法,用于对象的复制
  • toString():返回该对象的字符串表示
  • notify()/notifyAll():唤醒在此对象监视器上等待的单个/所有线程
  • wait():当前线程等待
  • finalize():当垃圾回收期确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

 6.3 == 和 equals() 区别

​    = = 比较的是引用,比较的是引用的地址值 ,equals方法,是object中的方法,如果不进行重写的话,比较的也是引用的地址值,实际和= =一样

 6.4 hashCode()和equal()

  • ​ hashCode()和equal()作用一样, 在Java里都是用来对比两个对象是否相等一致 。
  • ​ 重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低
  • ​ hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会一样
  • ​ hashCode() 在散列表中才有用 ( HashMap,Hashtable,HashSet )

 6.5 final、finally、finalize的区别

  • final:用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、类不可被继承
  • finally:作为异常处理的一部分,它只能用在try/catch语句中,并且附带着一个语句块,表示这段语句最终一定被执行,经常被用在需要释放资源的情况下。
  • finalize:是Object类中的一个方法,在垃圾收集器执行的时候会调用被回收对象的finalize()方法,可以覆盖此方法来实现对其他资源的回收

7、包装类

​   对于基本数据类型,Java提供了对应的包裹(wrap)类型。这些包裹类型将一个基本数据类型的数据转换成对象的形式,从而使得它们可以像对象一样参与运算和传递。下表列出了基本数据类型所对应的包裹类型:

基本类型 包裹类型
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
发布了121 篇原创文章 · 获赞 45 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41596568/article/details/103243316