当前位置: 首页 > news >正文

JavaSE - Object 类详细讲解

定义

是所有类的直接或者间接父类,是 Java 中唯一一个没有父类的类。其中所有的方法都是可以被子类继承的。

常用方法

  1. equals方法: 比较两个对象引用的地址值是否相同,默认情况下是使用 “==” 进行比较,但是这个方法一般会被之类重写,如下图是 String 类型的 equals 方法,他对父类的方法进行了重写,比较的是值而非地址值

 public class Main {public static void main(String[] args) {String str1 = new String("abc");String str2 = new String("abc");System.out.println(str1.equals(str2)); // trueSystem.out.println(str1 == str2); // false}}
  1. hashCode方法: hashCode (哈希码|散列码) 是一种编码方式。每个对象都会继承这个方法如果不重写,那么他会将对象地址值转为 int 数组进行返回。hashCode 的作用就是确定对象在 Hash表中的索引位置,提高查询效率。
建议hashCode 和 equals 方法应该同时被重写。应为  hashCode 是为了提高查询效率,但是可能会产生 hash 冲突(两个对象 hashCode 相同),此时 需要重写 equals 来判断两个对象是否值相同(原始是比较地址),如果相同则不插入,不相同则以链表(具体实现可以百度一下)来处理这个 hash 冲突。这个不会写没有关系,可以使用快捷键  Auto + Insert 帮我们自动生成。

  1. toString 方法: 打印对象会自动调用 toString 方法,如果不重写这回调用 Object 默认的。一般我们会按照我们自定义的方式重写该方法。当然也可以使用快捷键 Auto + Insert 帮我们自动生成。
  2. native 方法: native 修饰的方法,只说明不实现。Java 只能调用这个方法,但是不能查看和修改。
  3. clone 方法:
  • 创建一个和当前对象相同的对象(属性相同),和 “=” 赋值操做不同,clone 方法是直接创建了一个副本,开辟了一个新的地址用来存拷贝后的对象,赋值操做只是将两个引用指向同一块地址。
  • clone 由浅拷贝和深拷贝的区分,当对象类属性存在引用类型时可见,虽然执行拷贝后的两个对象在不同地址,但是里面引用类型变量确实指向同一块地址(浅拷贝)。所以对于引用类型的属性,应该做深拷贝(将其中引用类型同样再拷贝一份)。
  • 代码编写要求:
    • 必须要实现 Cloneable 接口(标识性接口)
    • 重写 clone 方法,用 public 修饰。
    • 要处理 CloneNotSupportedException 异常。

相关文章:

  • C/C++中的位域(Bit-field)是什么?
  • 自然语言处理(NLP)核心技术:从词嵌入到Transformer
  • SSM框架:企业级Java开发利器
  • 【CUDA编程】OptionalCUDAGuard详解
  • 秋招是开发算法一起准备,还是只准备一个
  • 6.IK分词器拓展词库
  • 利用Tomcat本地部署Javaweb项目(windows)
  • 从CentOS迁移到TencentOS:9%成功率的一键替换实操
  • CppCon 2016 学习:The Exception Situation
  • Python编程基础
  • 计算机网络学习笔记:TCP流控、拥塞控制
  • 【QT】控件二(输入类控件、多元素控件、容器类控件与布局管理器)
  • 前端开发面试题总结-vue2框架篇(三)
  • 【6G技术探索】MCP协议整理分享
  • 黑马python(七)
  • 使用SymPy进行欧拉角与RPY角的符号与数值计算
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • java复习 20
  • VB逆向基础(一)
  • 【数据库】KingbaseES在线体验平台深度测试:从基础操作到增删改查实战
  • 网站的三级页面怎么做/seo视频教学网站
  • 企业信用信息年度报告公示/宁波seo快速优化平台
  • 电商平台项目运营策划方案/开封网站优化公司
  • 成都移动网站建设/附近的电脑培训班在哪里
  • 南昌商城网站建设公司/网络营销推广专家
  • 网站建设如何找本地客户/网络营销服务