文章目录

  • 1. Object类
    • 1.1 定义
    • 1.2 常用方法
  • 2. 克隆方法
    • 2.1 定义
    • 2.2 对象浅克隆要注意的细节

1. Object类

1.1 定义

Object类是顶层父类,所有的类都直接或间接继承该类。

1.2 常用方法

(1)hashCode(): 返回此对象的哈希码值,不是对象的实际地址值,可理解为逻辑地址值。不同对象的哈希码值不同,同一对象的哈希码值相同 。
(2)getClass():返回此对象的运行时类。将JVM为这个文件创建的对象获取出来。
(3)toString(): 返回此对象的字符串表示。一般建议在Objiect类的子类中重写该方法。
(4)equals(Object object):判断此对象是否与obj对象“相等”。
注意:“==”与equals()区别

  • “==”号在比较基本数据类型(int、float…)时,比较的是两个对象的字面值;在比较引用型数据类型(string…)时比较的是两对象的地址值。

  • equals():在所有没有重写equals()方法的类中,调用equals()方法和使用==号的效果一样,也是比较的地址值,然而,Java提供的所有类中,绝大多数类都重写了equals()方法,重写后的equals()方法一般都是比较两个对象的字面值。

  • 实例

  • 运行结果

2. 克隆方法

2.1 定义

  • clone()的权限修饰符是受保护的,在用的时候,让该类重写该方法,并把该方法的权限修饰符改为public。使用clone()方法采用的是浅克隆的方式。

  • 实例

  • 运行结果
    -

2.2 对象浅克隆要注意的细节

(1)如果一个对象需要调用clone的方法克隆,那么该对象所属的类必须要实现Cloneable接口。
(2)Cloneable接口只不过是一个标识接口而已,没有任何方法。只是给该类打一个标记,告诉JVM我要完成某种操作。
(3)对象的浅克隆就是克隆一个对象的时候,如果被克隆的对象中维护了另外一个类的对象,这时候只是克隆另外一个对象的地址,而没有把另外一个对象也克隆一份。
(4)对象的浅克隆也不会调用到构造方法。

  • 实例

  • 运行结果

    因为在Dog类里维护了DogFood类的dogfood对象,所以只是克隆了dogfood的地址,使得运行结果均为”泡面搭档火腿肠“。

JavaSE(六)——Object类、克隆方法相关推荐

  1. 面向对象回顾(静态变量、类加载机制/双亲委派模型、Object类的方法、类和对象区别)

    1. 静态变量存在什么位置? 方法区 2. 类加载机制,双亲委派模型,好处是什么? 某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务, ...

  2. java面试题27 java中下面哪些是Object类的方法()

    java面试题27 java中下面哪些是Object类的方法() A notify() B notifyAll() C sleep() D wait() 蒙蔽树上蒙蔽果,蒙蔽树下你和我.遇到这种题,我 ...

  3. 【JAVA】Object类的方法简谈

    Object类的方法简谈 Java中所有的类都继承自Object类,那我们今天来探讨一下Object类中的方法 PS:Object源码中,作者那一栏中,出现了这个 package java.lang; ...

  4. JavaSE之Object类

    目录 Object类的概述 Object类中常用方法介绍 1.hashCode()方法 2.getClass()方法 3.toString()方法 4.equals()方法 Object类的概述 Ob ...

  5. 【克隆】——Object类clone方法彻底剖析

    目录 一.什么是克隆 二.为什么要克隆 三.如何克隆 四.深克隆和浅克隆 浅克隆 深克隆 一.什么是克隆 克隆就是依据已经有的数据,创造一份新的完全一样的数据拷贝. 在Java中对象的克隆有深克隆和浅 ...

  6. JAVA-初步认识-第十一章-object类-equals方法覆盖

    一. 现在要谈论equals方法另一个方面.如果不写equals方法,直接用==来比较也是可以的,貌似equals方法有点多余. 现在不比较对象是否相等,而是比较对象中的特定内容,比如说对象的年龄,之 ...

  7. 请列举你所知道的Object类的方法并简要说明。

    小白一个 只记得euqals()和toString()方法了-,重新再整理下好咯 Object类是所有类的父类 Object中的方法进行简要的分析 Clone():创建并返回对象的副本 equals( ...

  8. Java基础深度总结:Object类-clone方法

    凡心所向,素履所往,生如逆旅,一苇以航. 内容 1.clone概述 2.Cloneable接口 3.clone与new的区别 4.浅拷贝与深拷贝(重点) 5.Object.clone 6.浅拷贝存在的 ...

  9. python 类继承object_python-面向对象-17-继承/object类/mro方法

    1.继承的基本概念 继承是面向对象程序设计的重要特征,也是实现"代码复用"的重要手段. 如果一个新类继承自一个设计好的类,就直接具备已有类的特征,这样就大大降低了工作难度,因为很多 ...

最新文章

  1. 科技部:学术不端零容忍!违规人员所获职称、奖金等全部清退归零
  2. 按要求罗列所有字符串字符序列
  3. 迷你世界支持服务器,迷你世界云服务器
  4. 眨眼算什么,让蒙娜丽莎像你一样唠上嗑才算硬核
  5. Linux(9.21-9.27)学习笔记
  6. [转载]中国公历算法
  7. 八皇后时间复杂度_【算法打卡】N皇后
  8. ajax拼接外部变量,在ajax调用中访问函数外部变量的问题
  9. 【iCore3 双核心板_ uC/OS-III】例程四:时间管理
  10. Java服务器 dm Server
  11. ubuntu 分区_系统小技巧:迁移通过Wubi方式安装的Ubuntu系统
  12. 都别争了!分布式锁也是锁
  13. Mysql 的uuid()函数以及replace()函数使用
  14. 共阳极数码管显示c语言,基于74HC595单片机驱动数码管设计
  15. configure: error: cups-config not found
  16. 自考免考的计算机应用,自学考试计算机免考条件
  17. 搭建配置私服-nexus ,Maven中的使用——3
  18. java ee框架技术进阶式教程_《JavaEE框架技术进阶式教程》新版任务式教案
  19. 利用“顺丰速运”下发GuLoader恶意软件的风险分析
  20. 请求数据应该放在Created还是Mounted

热门文章

  1. map怎么转化dto_java实现Object和Map之间的转换3种方式
  2. SCI录用的最后一步——答复审稿人的策略和答复信的写作技巧
  3. CODEVS 1172 Hankson 的趣味题
  4. 兔子繁殖(easy)
  5. mysql unicode转汉字_如果有人问你 MySql 怎么存取 Emoji,把这篇文章扔给他
  6. python控制流_Python学习--控制流
  7. python网络爬虫(14)使用Scrapy搭建爬虫框架
  8. tvnewpro 病毒清除
  9. python-类知识点简介
  10. (C#) 调用执行批处理文件