day9 Object类和包装类

一、Object类

  • java.lang.Object类是Java语言中的根类,即所有类的父类
  • 描述的所有方法子类都可以使用
  • 在对象实例化的时候,最终找的父类就是Object
  • 如果一个类没有特别指定父类,  那么默认则继承自Object类
  • 所有对象(包括数组)都实现这个类的方法

它定义如下方法和属性:

  1. equals(Object obj):判断当前对象是否与另一个对象相等。

  2. getClass():获取当前对象所属的类的Class对象。

  3. hashCode():返回当前对象的哈希码。

  4. toString():将当前对象转换为字符串。

  5. wait()、notify()、notifyAll():用于线程同步的方法。

  6. clone():复制当前对象。

  7. finalize():在垃圾回收器回收当前对象之前执行的方法。

toString()方法

返回该对象的字符串形式

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。

   getClass().getName()@Integer.toHexString(hashCode())

由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它

equals()方法

 调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定义两种方式。
1.默认地址比较
       如果没有覆盖重写equals方法,那么Object类中默认进行==运算符的对象地址比较,只要不是同一个对象,结果必然为false。
2.对象内容比较
       如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法。

 二、包装类

包装类是一种用于在Java中将基本数据类型转换为对象的类。Java中的基本数据类型(如int、float、char等)不是对象,不能直接参与面向对象编程,但有时候需要将它们转换为对象,以实现某些操作。

Java的包装类包括以下8个类:

  1. Boolean:用于封装boolean类型的值。

  2. Byte:用于封装byte类型的值。

  3. Short:用于封装short类型的值。

  4. Integer:用于封装int类型的值。

  5. Long:用于封装long类型的值。

  6. Float:用于封装float类型的值。

  7. Double:用于封装double类型的值。

  8. Character:用于封装char类型的值。

这些包装类提供了一系列方法来操作基本数据类型的值,例如将它们转换为字符串、比较大小、进行算术运算等。同时,它们还提供了一些常量和静态方法,例如MIN_VALUE和MAX_VALUE,用于表示该类型的最小值和最大值。在需要将基本数据类型转换为对象时,可以使用这些包装类来完成转换,例如:

int i = 10;
Integer iObj = Integer.valueOf(i); // 将int类型转换为Integer类型

在Java 5及以后版本中,增加了自动装箱(Autoboxing)和自动拆箱(Unboxing)的功能,可以更方便地进行基本数据类型和包装类之间的转换,例如:

int i = 10;
Integer iObj = i; // 自动装箱
int j = iObj; // 自动拆箱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值