Object对象

1.Object类:所有类的根类。是不断抽取而来的,具备所有对象都具有的共性内容。其中的方法,任何对象都可以调用。继承而来的。

equals()方法:

  Object类的equals源码:比较两个对象是否相同

  public boolean equals(Object obj)

  {

    return this==obj;//比较两个对象是否相同

  }

  子类可以重写equals方法,来实现自己的对象比较,比如比较年龄等。

  public boolean equals(Object obj)//重写的时候,参数必须是Object类型,必须跟Object类里的方法一样才是重写。

  {

    if(!obj instanceof Person)

    {

      throw new ClassCastException("类型错误");//此处抛异常比直接返回false要好,也可以直接抛出Runtime异常。

    }

    Person p=Person(obj);//必须强制类型转换

    return this.age==p.age;//当两个对象的年龄相同时,返回true

  }

  一般都会覆盖此方法,根据对象的特有内容建立对象是否相同的依据。

hashCode()方法:  返回该对象的哈希码值。

  public int hashCode()

  {

    return age;

  }

一般要重写该方法,依据对象的不同来建立对象的哈希码。一般对象的地址是用该方法计算出来的。

相同的对象必须具有相同的哈希码。所以一般都要重写equals方法及hashCode方法

对象相同要保证地址相同,即哈希码相同,另外还要确保内容相同。

hashCode对应对象的地址,equals来判断对象的内容,这是以后重写的依据。

getClass()方法:返回对象的运行时类。即返回当前对象的Class对象,字节码文件对象

toString()方法:

返回对象的字符串表示。默认的是对象的名字[email protected]+hashcode码,所以子类都需要重写该方法,建立自己的字符串表示形式。

所有的对象一般都要重写 equals方法,hashCode方法,toString方法。

时间: 2024-08-07 17:02:27

Object对象的相关文章

Object对象类

Object对象类是所有类的祖先,他是默认自动继承的 Java为什么要做一个对象类呢?对象类的目的就是归一了类型,他就是把所有的类所有的对象归纳成为 Object类型.因为对象他认为对象应该拥有一些什么方法和属性全部都定制下来.那么就也就规定了今后的都有哪些方法和属性. toString():String方法是父类留下来的一个方法,如果不重写那么就由Object来实现,如果重写那么这个方法就能写很多的东西.toString()方法其实 是用来打印一些类的信息来说明类的一些问题, toString

atitit.XML类库选型及object 对象bean 跟json转换方案

atitit.XML类库选型及object 对象bean 跟json转换方案 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的 1 2. 常见的xml方面的方法 2 2.1. xml解析 2 2.2. bean与xml互相转换 2 2.3. json与xml的互相转换 2 3. 大名鼎鼎的 DOM  绿色环保的 SAX 默默无闻的 Digester 2 3.1. 默默无闻的 Digester:XML 的 JavaBean 化 2 4. Digester 解析 XML 3

java学习中,object 对象的使用(toString、equals、hashCode)(java 学习中的小记录)

java学习中,object 对象的使用(java 学习中的小记录)作者:王可利(Star·星星) object 对象(参考API学习) 重点掌握三个方法: 1.toString 返回该对象的字符串表示. 2.equals(object obj)指示其他某个对象是否与这个对象相等. 3.hashCode() 返回对象的哈希码. 详见代码的注释分析(一个是Person类重写方法,一个是Star类使用方法) Star类代码: 1 package study; 2 3 public class sta

JavaScript Object对象

Object对象 1. 介绍 Object对象,是所有JavaScript对象的超类(基类).定义了Js对象的基本方法和属性. 2. 构造函数 2.1 new Object() :返回一个Object实例 2.2 new Object(value) :根据value的值,返回不同的对象(Number.Boolean.String) 参数: ①value {number | bool | string} :一个数字.布尔值或者字符串 返回值: {Number.Boolean.String} 返回一

Android 消息传递之Bundle的使用——实现object对象传输(一)

UI更新--消息处理massage 对于安卓内部消息得处理,实现对界面UI得更新操作,不能在线程中直接更新ui.至于为什么不能,在学习安卓开发的时候,在线程中操作会使程序崩溃. 为什么,可以看看诸多大神们的详细介绍. 安卓内部处理数据更新UI都是耗时的操作,这些耗时操作系统不允许在Activity主线程中进行,必须在其他线程中操作,然后通过发消息的形式通知主线程更新UI,那么我们就要用多线程处理了,massage 消息处理机制. 下面我们一起分享郭霖Android多线程中消息处理更新UI的介绍.

Javascript中的Object对象

Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的.虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用. 回到顶部 基础介绍 创建对象 首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世界中的对象的.那在Javascript中,创

JS查看Object对象的内容

以一个例子来说,下面是他的Object: JS: 如果想直接获取到total的值,那就先把获取到的Json先Eval(),然后json.total就能取到total的值了, 但是如果想取到rows里面的值呢,我们先得进去rows,那就应该是:json.rows,但是我们alert的时候发现,这个rows有三个参数,我们要取第一个的话,那就应该是json.rows[0],然后再取 里面的strUserName或者strUserPwd就应该是Json.rows[0].strUserName了. 假设

Java Object 对象创建的方式 [ 转载 ]

Java Object 对象创建的方式 [ 转载 ] @author http://blog.csdn.net/mhmyqn/article/details/7943411 显式创建 有4种显式地创建对象的方式: 1.构造器:用new语句创建对象,这是最常用的创建对象的方式. 2.反射:运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法. 3.克隆:调用对象的clone()方法. 4.序列化:运用反

如果一个Object对象可能是数组那么如何对其进行迭代

需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是基本类型数组,也可能是对象数组,如何将这个对象中的数组元素进行迭代,同时添加进一个集合中(我们不关心添加迭代出来的值是什么类型). 分析:如果想将一个数组迭代添加进一个集合中,那么我们最可能想到是的使用数组工具类Arrays的asList(T…a)方法: 但是这个方法的不足之处在于,对于对象数组,可以将对象数组中的每个元素迭代添加到一个Li

详解Javascript中的Object对象

Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的.虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用. 基础介绍 创建对象 首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世界中的对象的.那在Javascript中,创建对象的方