1.java.lang.Object类的说明:
  * 1.Object类是所Java类的根父类
  * 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类
  * 3.Object类中的功能(属性、方法)就具通用性。
  * 属性:无
  * 方法:equals() / toString() / getClass() /hashCode() / clone() / finalize()
  * wait() 、 notify()、notifyAll()
  * 4. Object类只声明了一个空参的构造器

2.equals()方法
  2.1 equals()的使用:
    *1. 是一个方法,而非运算符
    * 2. 只能适用于引用数据类型
    * 3. Object类中equals()的定义:
    * public boolean equals(Object obj) {
        return (this == obj);
    }

说明:Object类中定义的equals()和==的作用是相同的:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体

    * 4. 像String、Date、File、包装类等都重写了Object类中的equals()方法。

      重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的"实体内容"是否相同。

    * 5. 通常情况下,我们自定义的类如果使用equals()的话,也通常是比较两个对象的"实体内容"是否相同。

      那么,我们就需要对Object类中的equals()进行重写.

      重写的原则:比较两个对象的实体内容是否相同.

  2.2 如何重写equals()
    2.2.1 手动重写举例:

 class User{
String name;
int age;
//重写其equals()方法
public boolean equals(Object obj){
if(obj == this){
return true;
}
if(obj instanceof User){
User u = (User)obj;
return this.age == u.age && this.name.equals(u.name);
}
return false;
}
}

    2.2.2 开发中如何实现:自动生成的

  2.3 回顾 == 运算符的使用:
    * == :运算符
    * 1. 可以使用在基本数据类型变量和引用数据类型变量中
    * 2. 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同)
    * 如果比较的是引用数据类型变量:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体
    * 补充: == 符号使用时,必须保证符号左右两边的变量类型一致。

3. toString()方法
  3.1 toString()的使用:
    *1. 当我们输出一个对象的引用时,实际上就是调用当前对象的toString()
    * 2. Object类中toString()的定义:
    * public String toString() {
      return getClass().getName() + "@" + Integer.toHexString(hashCode());
     }

    * 3. 像String、Date、File、包装类等都重写了Object类中的toString()方法。
    * 使得在调用对象的toString()时,返回"实体内容"信息

    * 4. 自定义类也可以重写toString()方法,当调用此方法时,返回对象的"实体内容"
  3.2 如何重写toString()

举例:
//自动实现
@Override
public String toString() {
  return "Customer [name=" + name + ", age=" + age + "]";
}

25-Object类的使用的更多相关文章

  1. 25. object类中的一些方法分析

    1. Object java是面向对象语言,所以其核心思想: 找合适的对象,做合适的事 Object是所有类的终极基类.任何一个类都继承了Object类 2. Object的部分函数列表 1)Stri ...

  2. 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)

    java中的hashcode.equals和toString方法都是基类Object的方法. 首先说说toString方法,简单的总结了下API说明就是:返回该对象的字符串表示,信息应该是简明但易于读 ...

  3. Object类可以接受引用类型

    Object类是一切类的父类,所以Object类可以接受一切引用类型.连数组和接口对象也都可以接受. 1.接受数组 public class ObjectTest{ public static voi ...

  4. 【转载】JAVA基础复习与总结<三> Object类的常用方法

    Object类是一个特殊的类,是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类.这里主要总结Object类中的三个常用方法:toString().equ ...

  5. 第八节 多态和Object类

    多态的定义:某一类事物的多种存在形态 例子:学生类:包含学生A和学生B 学生A对象对应的类型是学生A类型:StudentA studentA = new StudentA; Student stude ...

  6. java.lang.Object类

    Object类是java所有对象的基类,包含着java最核心和最基础的类,在编译时会自动导入.具体的类结构图: 1.构造器 public Object(); 大部分情况下,Java中通过形如 new ...

  7. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  8. Java中的Object类的toString()方法,equals()方法

    Object类是所有类的父类,若没有明确使用extends关键字明确表示该类继承哪个类,那么它就默认继承Object类,也就可以使用Object中的方法: 1.toString 如果输出一个对象的时候 ...

  9. Java:Object类详解

    Java的一些特性会让初学者感到困惑,但在有经验的开发者眼中,却是合情合理的.例如,新手可能不会理解Object类.这篇文章分成三个部分讲跟Object类及其方法有关的问题. 上帝类 问:什么是Obj ...

  10. Object类中的五种方法

    clone() Object类源码:protected native Object clone() throws CloneNotSupportedException; 这里有个问题:为什么Sun公司 ...

随机推荐

  1. iOS刨根问底-深入理解GCD

    概述 做过iOS开发的同学相信对于GCD(Grand Central Dispatch)并不陌生,因为在平时多线程开发过程中GCD应该是使用最多的技术甚至它要比它的上层封装NSOperation还要常 ...

  2. Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车

    让我们来实现一个简单的 “电商购物车” 需求来了解一下如何使用 Newbe.Claptrap 进行开发. 业务需求 实现一个简单的 “电商购物车” 需求,这里实现几个简单的业务: 获取当前购物车中的商 ...

  3. electron设置window系统托盘

    electron设置托盘 // 设置系统托盘 const setAppTray = () => { // 托盘对象 var appTray = null // 系统托盘右键菜单 var tray ...

  4. bzoj3223Tyvj 1729 文艺平衡树

    bzoj3223Tyvj 1729 文艺平衡树 题意: 一个数列,支持区间翻转操作. 题解: splay裸题.注意涉及到区间操作的一般用splay不用treap. 代码: #include <c ...

  5. Halcon一维测量官方案例解析

    下面的例子简要介绍了如何使用HALCON的一维测量工具.最长的部分是预处理和后处理:测量本身只包括两个操作符调用. 测量保险丝-fuse 预处理主要是测量线的生成.在示例程序中,这个步骤是通过将测量对 ...

  6. GPO - Disabling Task Manager Access

    Create a GPO to disable Task Manager Access to normal users. Add an exception to Domain Admins.

  7. Python Ethical Hacking - VULNERABILITY SCANNER(2)

    VULNERABILITY_SCANNER How to discover a vulnerability in a web application? 1. Go into every possibl ...

  8. 《Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases》论文总结

    Aurora总结 说明:本文为论文 <Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relation ...

  9. Redis 6.0 新特性 ACL 介绍

    Redis 6.0 新特性 ACL 介绍 Intro 在 Redis 6.0 中引入了 ACL(Access Control List) 的支持,在此前的版本中 Redis 中是没有用户的概念的,其实 ...

  10. MSF查找提权exp

    0x01:介绍 在拿到一个反弹shell后,下一步可以用metaspolit的内置模块Local Exploit SuggesterLocal-exploit-suggester的功能就如它的名字一样 ...