黑马程序员_Object

------- android培训java培训、期待与您交流! --------

Object

Object:所有对象的根类,是不断抽取而来的,具备着所有对象都具备的内容。

 相等性(==):(1)对于原生数据类型,比较的是左右的值是否相等

               (2)对于引用数据类型,比较左右两边的引用是否指向同一对象,或者说是左右两边的引用地址是否相同。

Equals():该方法定义在Objrct类中,因此java中每个类都有这个方法,对于Object类中的equals方法来说,他判断的是引用与传进来的引用是否一致,即这两个引用是否指向同一对象。对呀Object类的equals方法来说,他等价于==。

对于String类中的equals方法被重写了,他判断的是当前字符串与传进来的字符串内容是否一致

对于String对象的相等性判断来说,请用equals方法,不要用==

toSring:当打印 引用时,实际上会打印引用所指的对象的toString方法返回值(返回该对象的字符串表示),因为每个类都直接或间接地继承Object,而Object类中都定义了toString(),因此每个类都有toString(这个方法

1clone()  用于复制对象,分为深克隆和浅克隆

Unhandled exceptiontypeCloneNotSupportedException

浅克隆:需要覆盖clone方法,调用super.clone() 

                修饰符改为public,因为Object中是protected

                需要处理CloneNotSupportedException异常

                浅拷贝对深层次的属性引用不新创建对象

深拷贝:

               也是需要覆盖clone方法,修饰符改为public,无需处理异常

                需要对属性进行对象空间的创建,封装成新的对象返回    

2)equals()   用于比较两个对象的值是否相等

      ==的比较方式:

  i. 基本类型的比较用==

     ii. 引用类型和null的比较使用==

     iii. 引用类型用==,比较的是内存地址,是同一个对象

     如果想比较对象的值,而不是地址,采用Object中的equals方法

     equals方法比较的是内容,而不是地址。

3)hashCode()   返回对象的hash编码值

      Java规定:equals为true的两个对象,其hashCode必须相同

     一般hashCode()方法伴随equals()方法出现,配合其使用    从而进行hashCode()方法的覆盖

4)getClass()     获得此对象的类对象(Class类型)

5)toString()     返回对象的字符串表达

    默认的toString方法继承自Object

    public String toString() {

  return getClass().getName() + "@"+Integer.toHexString(hashCode());

    }

    返回的是包名.类名@hashCode值的十六进制数

    toString方法的调用时机:

    i. print、println对象引用时,隐式调用toString()

    ii. 显示调用

    iii. 用+运算符进行字符串拼接时也会隐式调用toString()

6)finalize()      垃圾回收时调用的代码,由于不可控,不推荐使用

                     一般用于最后资源的释放工作

           我们可以建议JVM进行垃圾收集 System.gc();

           但是无法强制JVM启动GC线程,所以finalize()方法不可控

 

 




--------- android培训java培训、期待与您交流! ----------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值