iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java中的Object类知识点有哪些
  • 857
分享到

Java中的Object类知识点有哪些

2023-07-02 10:07:21 857人浏览 安东尼
摘要

这篇文章主要讲解了“Java中的Object类知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的Object类知识点有哪些”吧!1.Object类是什么?Object 是

这篇文章主要讲解了“Java中的Object类知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的Object类知识点有哪些”吧!

Java中的Object类知识点有哪些

1.Object类是什么?

Object 是 Java 类库中的一个特殊类,也是所有类的父类。

也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量。

java里面除了Object类,所有的类存在继承关系的。

Object 类位于 java.lang 包中,编译时会自动导入, 当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。

class Person {}class Student {}public class Test03 {    public static void func(Object o) {  }    public static void main(String[] args) {        func(new Person());        func(new Student());    }    public static void main1(String[] args) {        Object o = new Person();        Object o2 = new Student();    }}

下面来看一下Object类中都有什么方法

Java中的Object类知识点有哪些

本篇会简单介绍hashCode(),equals()

2.Object类中的equals方法

下面看这样一段代码

class Person {    public String dz;    public Person(String dz) {        this.dz = dz;    }    @Override    public String toString() {        return "Person{" +                "dz='" + dz + '\'' +                '}';    }}class Student {}public class Test03 {    public static void main(String[] args) {        Person person = new Person("beijing");        Person person1 = new Person("beijing");        System.out.println(person == person1);}

如果直接这样比较,看地址是否相同,就会输出false,输出是错误的

那么如果要比较,有什么方法吗

在java中提供了一个方法是equals,可以用来比较两对象是否相同

   System.out.println(person.equals(person1));

如果直接在main中这样写,还是会输出false,

这是因为person里面没有equals,默认是继承于Object的

Java中的Object类知识点有哪些

可以看到里面比较的还是this和obj,也就是当前传进来的参数,所以才是false。

那么如何用equals进行比较

那就要重写一个equals才可以进行比较

    @Override    public boolean equals(Object obj) {        //判断当前obj参数是否为null        if (obj == null) {            return false;        }        if (this == obj) {            return true;        }        //不是Person类对象        if (!(obj instanceof Person)) {            return false;        }        Person ret = (Person) obj;        return this.dz.equals(ret.dz);    }

我们可以String帮助重写equals了

Java中的Object类知识点有哪些

此时equals就可以比较了

Java中的Object类知识点有哪些

比较对象中内容是否相同的时候 要重写equals


3.Object类中的hashCode方法

使用hashCode可以计算具体的对象位置,也就是内存地址,然后调Integer.toHexString()方法,将这个地址以16进制输出

两个dz是相同的,然后直接用hashCode计算内存地址,然后代码发现,内存地址是不同的

说明直接这样中hashCode是不行的,那就要重新实现一个hashCode,Java中的Object类知识点有哪些

下面重写一下hashCode,

    @Override    public int hashCode() {        return Objects.hash(dz);    }

然后运行代码试试看,果然重写之后,内存地址相同了

Java中的Object类知识点有哪些

所以,hashCode是用来定位 位置的


4.编译器自动生成equals和hashCode

一般重写时,都是这两个同时进行重写

Java中的Object类知识点有哪些

这就是生成好了的 equals和hashCode

    @Override    public boolean equals(Object o) {        if (this == o) return true;        if (o == null || getClass() != o.getClass()) return false;        Person person = (Person) o;        return Objects.equals(dz, person.dz);    }

感谢各位的阅读,以上就是“Java中的Object类知识点有哪些”的内容了,经过本文的学习后,相信大家对Java中的Object类知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Java中的Object类知识点有哪些

本文链接: https://www.lsjlt.com/news/341159.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中的Object类知识点有哪些
    这篇文章主要讲解了“Java中的Object类知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的Object类知识点有哪些”吧!1.Object类是什么?Object 是...
    99+
    2023-07-02
  • Java复用类知识点有哪些
    本篇内容介绍了“Java复用类知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!组合,用于在新类中使用现有类的功能,而并非它的接口,...
    99+
    2023-06-03
  • java中Class类的基础知识点有哪些
    这篇文章将为大家详细讲解有关java中Class类的基础知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、说明Class本身也是一个类。Class对象只能由系统确定。JVM中只有一个Class...
    99+
    2023-06-15
  • java中锁的知识点有哪些
    今天小编给大家分享一下java中锁的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。乐观锁和悲观锁悲观锁悲观锁对应...
    99+
    2023-06-30
  • java中的HTML知识点有哪些
    这篇文章主要介绍“java中的HTML知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java中的HTML知识点有哪些”文章能帮助大家解决问题。   1...
    99+
    2024-04-02
  • java中Supplier知识点有哪些
    小编给大家分享一下java中Supplier知识点有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、说明这个接口是提供者的意思,只有一个抽象的get,没有默认的方法和静态的方法,导入一个泛T,get方法,返回一个泛T...
    99+
    2023-06-14
  • ES6中的class类知识点有哪些
    这篇文章主要介绍了ES6中的class类知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ES6中的class类知识点有哪些文章都会有所收获,下面我们一起来看看吧。cl...
    99+
    2024-04-02
  • Java编程中Math类的常用知识点有哪些
    这篇文章主要介绍“Java编程中Math类的常用知识点有哪些”,在日常操作中,相信很多人在Java编程中Math类的常用知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java编程中Math类的常用...
    99+
    2023-06-15
  • Java中的基础知识点有哪些
    这篇文章主要讲解了“Java中的基础知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的基础知识点有哪些”吧!"Hello World!"先来看一个He...
    99+
    2023-06-02
  • java URL知识点有哪些
    本篇内容主要讲解“java URL知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java URL知识点有哪些”吧!01、什么是 URL为了搞清楚什么是 URL,需要引入另外两个概念 ...
    99+
    2023-06-19
  • Java中类与对象的相关知识点有哪些
    这篇文章给大家介绍Java中类与对象的相关知识点有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、面向过程与面向对象的理解C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA...
    99+
    2023-06-25
  • Java NIO的知识点有哪些
    今天小编给大家分享一下Java NIO的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。No-Block 和Blo...
    99+
    2023-06-17
  • Java栈的知识点有哪些
    这篇文章主要介绍了Java栈的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java栈的知识点有哪些文章都会有所收获,下面我们一起来看看吧。1.栈的概念栈(stack)又名堆栈,作为一种数据结构,是...
    99+
    2023-06-29
  • java的Classpath知识点有哪些
    本篇内容主要讲解“java的Classpath知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java的Classpath知识点有哪些”吧!java的优点就是他是一个自动支持网络功能的...
    99+
    2023-06-03
  • Java的Queue知识点有哪些
    本篇内容主要讲解“Java的Queue知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的Queue知识点有哪些”吧!Java提供了Quere,相当好用,在1.5版本中又有增强。...
    99+
    2023-06-03
  • Java Unsafe知识点有哪些
    本篇内容介绍了“Java Unsafe知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sun.misc.Unsafe作用:可以用来...
    99+
    2023-06-25
  • Java中线程的知识点有哪些
    本篇内容介绍了“Java中线程的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1  .资源冲突,如果两个线程确实是在修...
    99+
    2023-06-17
  • Java常见知识点汇总(⑥)——Object有哪些公用方法?
    protected Object clone() 创建并返回此对象的一个副本。boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。protected void finalize() 当垃圾回收器确定不...
    99+
    2023-06-05
  • Java基本数据类型的知识点有哪些
    这篇“Java基本数据类型的知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java基本数据类型的知识点有哪些”文...
    99+
    2023-06-27
  • Java继承的知识点有哪些
    今天小编给大家分享一下Java继承的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。继承继承的介绍继承是java面...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作