14.Java面向对象----Object类

这篇具有很好参考价值的文章主要介绍了14.Java面向对象----Object类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Object类

Java中Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。
Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

//隐式继承Object
public class Dome {

}
//显式继承Object
public class Dome extends Object{

}

object常用方法

一、toString()方法

返回该对象的字符串表示。通常,toString()会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。toString()是可重写方法,通常情况下建议重写该方法。如果类对象调用toString()方法,则返回类名+哈希吗的字符串。

		Dome d=new Dome();
		System.out.println(d.toString());

14.Java面向对象----Object类

二、equals()方法

Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也返回false。String中的equals()方法是重写后的方法,比较的是字符串的值。所以本质上equals()方法与“==”是一样的。

		Dome d=new Dome();
		Dome d1=new Dome();
		System.out.println(d.equals(d1));
		
		String s=new String("123");
		String s1=new String("123");
		System.out.println(s.equals(s1));

14.Java面向对象----Object类

三、clone()方法

clone意思是克隆、复制。在Java语言中,当对象调用clone()方法时,就会复制已有的对象。clone()方法在根类Object中定义如下。要使类具有克隆能力能力时,需要实现Cloneable接口。clone()方法是目前为止除了new关键字外另一种创建对象实例的方式。

四、getClass()方法

我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的class对象。这个对象指的是代表一个类型的对象,因为一切皆是对象,类型也不例外,在Java使用class类的对象来表示一个类型。所有的类型类都是Class类的实例。
因此,获取类的class对象的两种方式:

  • 如果你知道一个实例,那么你可以通过实例的“getClass()”方法获得该对象的class对象
  • 如果你知道一个类型(String名称),那么你可以使用“类名.class”的方法获得该类型的class对象

五、hashCode()方法

通过方法获取对象的 hash 值。当我们未重写toString()方法时,返回的字符串@符号后面的就是对象的hash值。hash值是通过和当前线程有关的一个随机数+三个确定值,运用随机数算法得到的一个随机数。和对象内存地址无关。文章来源地址https://www.toymoban.com/news/detail-419820.html

到了这里,关于14.Java面向对象----Object类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java面向对象程序设计实验报告(实验二 面向对象基础练习)

     ✨ 作者: 命运之光  ✨  专栏:Java面向对象程序设计实验报告 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录:源程序代码(带注释) 测试类demo2 Address类 Employee类 实验二 面向对象基础练习 实验环境: Eclipse+JDK 实验目的:

    2024年02月06日
    浏览(71)
  • 【Java语言面向对象】(1)面向过程编程

    人机猜拳的第一版(下方是程序源码) 人机猜拳(面向过程版本) 三部分组成 初始化 游戏开始 游戏数据统计 逐步完成,并阶段测试。 面向过程整体的思路:做一件事,分为多个步骤,每个步骤之间是有序的,最后按序完成。 面向过程的优缺点: 优点:符合人类思维,简

    2023年04月09日
    浏览(50)
  • Java——Java面向对象

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 Java是面向对象的程序设计语言,Java语言提供了定义类、成员变量、方法等最基本的功能。

    2024年02月02日
    浏览(41)
  • Java面向对象01——类与对象

    大家好,我是白夜,今天和大家聊聊类与对象 面向过程编程 C 语言就是面向过程编程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 面向对象编程 JAVA 是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 举

    2024年04月08日
    浏览(42)
  • 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

    🌈个人主页:  Aileen_0v0 🔥系列专栏: Java学习系列专栏 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\"   目录 回顾  构造方法  this 面试题 构造方法的类型  下节预告 代码块  之前我们学习了什么是类  什么是对象  什么是面向对象编程 定义类   构造方法 :它的方法名

    2024年02月05日
    浏览(50)
  • 链式-父类中返回子类对象

    一晃五年没写博客了,依旧再C#上耕耘,依旧没有啥建树,现在也不知道.net上还有多少人再使用,在这里分享一些自己觉得写的还算优雅的代码。 对于自己写着完的代码,我特别喜欢链式(来源于jQuery的影响吧),大部分时候链式就是将返回值为void类型的对象,返回this指针

    2024年02月05日
    浏览(34)
  • Java面向对象中“匿名对象”的使用

    匿名对象 顾名思义,匿名对象指的就是没有名字的对象,在使用中理解为实例化一个类对象,但是并不把它赋给一个对应的类变量,而是直接使用。在理解匿名对象前,我们先创建一个类便于后面的使用。 匿名对象具有以下特征: 语法上:只创建对象,但不用变量来接收,

    2024年02月05日
    浏览(74)
  • 【Java高级语法】(十)面向对象:掀开Java 的面向对象盖章时代,一起来发现OOP的有趣编程秘密!~

    面向对象编程(Object-Oriented Programming, OOP)是一种广泛应用于软件开发的编程范式 。Java是一种面向对象的编程语言,它提供了丰富的工具和特性来支持面向对象编程。本文将详细介绍Java面向对象的全部知识。 我们可以把一个Java类想象成是一个蓝图或者模具,用来创建对象。就

    2024年02月11日
    浏览(49)
  • Java面向对象封装

    目录 封装的概念 封装具体实现步骤 示例代码如下 封装具体语法 Java封装是一种面向对象的编程方法,它的主要思想是将类的内部细节(包括数据和方法)隐藏起来,对外只提供公共的访问接口,从而保证了程序的安全性和稳定性。 1、声明类的成员变量时,使用private

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包