文章目录
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 |