Object 对象详解

面向对象的核心思想:“找合适的对象,作适合的事情”。java

合适的对象:算法

1. 本身描述类,本身建立对象。编程

2. sun已经描述了好多经常使用的类,能够使用这些类建立对象。函数

API(Application Program Interface)操作系统

sun定义的那么多类的终极父类是Object。Object描述的是全部类的通用属性与方法。3d

1.1 toString方法对象

toString() 返回对象的描述信息 java.lang.Object@de6ced 类名@哈希码值的十六进制形式。blog

直接输入一个对象的时候,会调用对象的toString方法。继承

练习:自定义一个Person类,打印该对象的描述信息,要求描述信息为:姓名 — 年龄内存

问题:调用p的toString方法时,打印出来的信息是类名+内存地址值。不符合要求。根据咱们以前学的继承,假如父类的指定的功能不能知足要求,那么子类能够复写父类的功能函数。那么该对象再调用toString()方法时,则会调用子类复写的toString方法。

编程习惯:开发者要对自定义的类重写toString(),对对象作详细的说明

1.1 equals方法

equals() 返回的是比较的结果 若是相等返回true,不然false,比较的是对象的内存地址值。

问题:比较两我的是不是同一我的,根据两我的的名字判断。

问题:若是根据名字去做为判断两我的是不是同一个时,明显p与p1是同一我的,可是程序输入却不是同一我的。不符合咱们现实生活的要求。

解决: 根据咱们学的继承中的函数复写,若是父类的函数不能知足咱们目前的要求,那么就能够在子类把该功能复写,达到复合咱们的要求。

编程习惯:开发者要对自定义的类重写equals(),使得比较两个对象的时候比较对象的属性是否相等,而不是内存地址。

1.1 hashCode方法

hashCode() 返回该对象的哈希码值: 采用操做系统底层实现的哈希算法。 同一个对象的哈希码值是惟一的。

java规定若是两个对象equals返回true,那么这两个对象的hashCode码必须一致。

相关文章
相关标签/搜索