java.lang.object 下载_java.lang.Object

java.lang.Object

类Object是类层次结构的根类。每个类都使用Object作为超类。

所有对象(包括数组)都实现这个类的方法。

Object是根父类,如何理解?

(一)从继承

(1)所有类都继承它

如果一个类没有显式声明它的父类,那么它的父类就是Object。

(2)说明所有类,所有对象都拥有Object类中的方法

(3)每一个类的构造器,往上追踪都会调用Object类中的无参构造。

super()

(二)从多态

(1)Object的变量(包括形参)可以接收任意类型的对象

(2)Object的数组,可以存储任意类型的对象

数组也是引用数据类型,数组对象也拥有Object类的方法。

Object的方法:

(1)Class getClass():返回此Object的运行时类

Class:类型

(2)String toString():建议所有子类都重写这个方法。

注意:

》》当你打印一个对象时,默认调用这个对象的toString()方法。

》》当用一个对象与String的值进行“+”拼接操作,也会自动调用这个对象的toString()方法。

(3)双胞胎

int hashCode()

返回该对象的哈希码值。支持此方法是为了提高哈希表(例如java.util.Hashtable提供的哈希表)的性能。

前期时:知道它是把对象的信息,通过某种算法来计算出来的一个int值。

设计这个int值,理想状态下,是希望每一个对象都有一个唯一的hash码,但是现实中,可能两个不同的对象他们的hash码是相同的。

》如果两个对象的hash码不一样,这两个对象一定不同。

》如果两个对象的hash码是一样的,这两个对象不一定相同。

》如果两个对象相同,则两者的hash码相同。

boolean equals(Object obj)(String这个类重写了equals方法 )

(1)如果一个类没有重写Object的equals方法,那么效果和“==”是一样,比较的是两个对象的地址。

(2)如果这个类不想用equals来比较地址,而是比较属性的内容,那么需要重写这个方法。

如果不用IDE工具生成equals方法,那么可以自己重写,自己重写时,要遵循几个原则:

》自反性:x.equals(x)自己与自己一定相同

》对称性:x.equals(y)是true,y.equals(x)也是true

》传递性:x.equals(y),y.equals(z)是true,---》x.equals(z)也要为true。

》一致性:如果参与equals比较的属性的值都没有修改,那么前后两次调用应该相同x.equals(y)是true。

》对于任何非空引用值x,x.equals(null)都应返回false

(4)protected void finalize():当垃圾回收器确定不存在堆该对象的更多引用时,由对象的垃圾回收器调用此方法。

比喻为:对象被回收之前,留临终遗言的方法

实际中,这个方法用于彻底释放资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值