Java基础类-object类

一、object类

1. API 及 Object 类概述

  • API(Application Programming Interface)
    • 应用程序接口
  • Java API
    • Java提供的封装好的类,只需学习这些类的使用即可
  • Object 类概述
    • 超类,继承层次中的根节点,所有类都直接或间接的继承自它
    • 构造方法
      • public Object(){}

2. Object 类 hashcode()方法

  • 格式:public native int hashCode();
  • 作用:返回调用对象的哈希码值,哈希码值会根据对象的物理地址来计算,可以理解为对象的逻辑地址
  • 参数:无
  • 返回值类型:十进制整型

3. Object 类 getClass()方法

  • 格式:public final native Class<?> getClass();
  • 作用
    • 返回调用对象的运行时类
    • 可以获得对象的真实类的全名称
  • native
    • 修饰的方法在本地方法区

4. Object 类 toString()方法

  • 返回该对象的字符串表示,即地址值
  • 源码
public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
  • 也可以在类中对该方法进行重写,来返回该类的所有的成员变量

5. Object 类 equals()方法

  • 作用
    • 指示两个对象的地址是否相等,即是不是同一个对象
  • 源码
public boolean equals(Object obj) {
    return (this == obj);
}
  • 默认比较的是两个引用指向的对象是否是同一个对象,但是可以重写,来比较两个对象里面存的成员变量的值是否相等
  • ==与equals()方法的区别
    • ==进行的是值比较,也就是说,如果是基本数据类型,比较的是数值是否相等,如果是引用数据类型,比较的是对象的地址值是否相等
    • equals()方法只能用于引用数据类型间,用来比较两个引用存放的地址是否一致

6. Object 类 clone()方法

  • 作用
    • 将一个对象复制一份,并将地址值传递给另一个引用
  • 源码
protected native Object clone() throws CloneNotSupportedException;
  • 注意
    • 因为clone()方法的修饰符是受保护的,在使用时,让类重写该方法,并将修饰符改为public
    • Cloneable接口只是一个接口,并没有实际的方法
    • clone()方法适用于对象的浅克隆
    • 对象的浅克隆不会用到构造方法
  • 对象浅克隆与深克隆
    • 当一个对象的成员变量是另一个类的对象时
    • 浅克隆就是只将当前对象克隆一份,当前对象内引用类型的成员变量只克隆地址,而不克隆引用类型成员变量指向的对象。用clone()方法实现
    • 深克隆就是向设计到的对象都克隆一份。用IO流来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值