一文带你了解Java万物之基之Object类

一文带你了解Java万物之基之Object类

Java语言中的每个类都是继承自基类Object,因此Object类是所有类的父类。这篇文章将会介绍Object类的常用方法和示例说明。

常用方法

equals

Object类的equals方法用于比较两个对象是否相等。Object类的equals方法使用的是比较对象的地址值,即两个对象的地址是否相同,若相同则返回true;若不同则返回false。在实际的使用中,我们可以重写equals方法,用来比较两个对象的实际内容是否相等。

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj instanceof Student) {
            Student s = (Student) obj;
            if (this.name.equals(s.name) && this.age == s.age) {
                return true;
            }
        }
        return false;
    }
}

toString

Object类的toString方法用于返回对象的字符串表示,一般情况下,toString方法返回的字符串可以用来描述对象的内在状态。

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
}

示例说明

示例一

public class ObjectDemo {
    public static void main(String[] args) {
        Object obj1 = new Object();
        Object obj2 = new Object();
        System.out.println(obj1.equals(obj2)); // false
        System.out.println(obj1.toString()); // java.lang.Object@xxxxxx
    }
}

在这个示例中,obj1和obj2是两个不同的对象,因此他们的地址值不同,equals方法返回的结果为false。而toString方法返回的是对象的地址值。

示例二

public class ObjectDemo {
    public static void main(String[] args) {
        Student s1 = new Student("张三", 18);
        Student s2 = new Student("张三", 18);
        System.out.println(s1.equals(s2)); // true
        System.out.println(s1.toString()); // Student [name=张三, age=18]
    }
}

在这个示例中,s1和s2是两个不同的对象,但是它们的实际内容相同,因此重写的equals方法返回的结果为true。而toString方法返回的是对象的内容。

总结

Object类是Java中所有类的父类,具有比较对象是否相等、返回对象字符串表示等常用方法。在实际的开发中,我们可以重写equals方法和toString方法,以满足特定的需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你了解Java万物之基之Object类 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Mybatis表的关联查询详情

    您想了解“Mybatis表的关联查询详情”的完整攻略,以下是详细介绍。 Mybatis表的关联查询详情 在实际开发中,一个业务往往需要从多张表中查询数据并进行关联,这时候就需要使用表的关联查询。在 Mybatis 中,我们通常使用 XML 映射文件来实现表的关联查询。 一对一关联查询 一对一关联查询就是在两张表中建立一个一对一的关系,并且查询的两张表有主从关…

    Java 2023年5月20日
    00
  • js布局实现单选按钮控件

    JS布局实现单选按钮控件的完整攻略主要包括以下几个步骤: 创建HTML结构,在结构中添加单选按钮控件需要的元素,如单选按钮的label和input元素。 <div id="radioGroup"> <label> <input type="radio" name="color&q…

    Java 2023年6月15日
    00
  • SpringBoot连接Hive实现自助取数的示例

    下面是“SpringBoot连接Hive实现自助取数的示例”的完整攻略: 一、准备工作 在开始前我们需要准备以下工具和环境: JDK 1.8及以上版本; Maven; IntelliJ IDEA; Hive。 其中,Hive是我们连接数据源的关键。如果你还没有安装Hive,可以参考以下链接进行安装: Hive官网:http://hive.apache.org…

    Java 2023年5月20日
    00
  • Java中注解@JsonFormat的用法详解

    Java中注解@JsonFormat的用法详解 什么是@JsonFormat注解 @JsonFormat 注解是 Jackson 提供的注解之一,用于在序列化和反序列化过程中格式化日期类型的数据。它可以将日期类型转化为指定格式的字符串类型,或将字符串类型转化为指定格式的日期类型。 语法格式 @JsonFormat 注解的语法格式如下: @JsonFormat…

    Java 2023年5月20日
    00
  • 详谈java编码互转(application/x-www-form-urlencoded)

    当我们进行HTTP请求时,参数会以一定的格式作为请求体进行传输。其中最常用的参数编码格式是application/x-www-form-urlencoded。在Java中,我们可以通过一些方式来进行此种编码格式的转化。 一、URLEncoding和URLDecoding Java中提供了两个工具类:java.net.URLEncoder和java.net.U…

    Java 2023年5月20日
    00
  • mybatis框架入门学习教程

    下面我将详细讲解”mybatis框架入门学习教程”的完整攻略,该攻略包括以下几个部分: 一、Mybatis框架概述 Mybatis是一个开源的持久层框架,它支持自定义SQL、存储过程调用和高级映射,可以将结果集映射到Java对象中。它主要有以下优点: SQL与程序解耦:Mybatis的SQL存放在XML文件中,与Java程序相分离,使程序易于维护。 灵活性高…

    Java 2023年5月19日
    00
  • SpringMVC常用注解载入与处理方式详解

    以下是关于“SpringMVC常用注解载入与处理方式详解”的完整攻略,其中包含两个示例。 1. 前言 SpringMVC是一种常用的Java Web开发框架,它可以帮助开发者快速构建Web应用程序。本攻略将详细讲解SpringMVC常用注解的载入与处理方式,帮助读者更好地掌握SpringMVC框架的使用方法。 2. 常用注解 以下是SpringMVC常用注解…

    Java 2023年5月16日
    00
  • Java多线程实现Callable接口

    Java多线程实现Callable接口攻略 在Java程序中,使用多线程可以增加程序的并发处理能力,提升程序的性能。Callable接口是Java提供的一种实现多线程的方式,相比Runnable接口,它具备更强的返回值类型、异常处理和线程中断能力。本篇攻略将介绍Java多线程实现Callable接口的完整过程及示例说明。 一、接口说明 1. Callable…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部