Object 对象详解

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

合适的对象:

1. 自己描述类,自己创建对象。

2. sun已经描述了好多常用的类,可以使用这些类创建对象。

API(Application Program Interface)

sun定义的那么多类的终极父类是Object。Object描述的是所有类的通用属性与方法。

1.1 toString方法

40060000ca6a500d8f8b

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

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

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

400a0000d4715d53a70d

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

40090000df8b0798abf0

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

1.1 equals方法

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

400b0000c45ed19c506c

问题:比较两个人是否是同一个人,根据两个人的名字判断。

400b0000c4e055963a44

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

解决: 根据我们学的继承中的函数复写,如果父类的函数不能满足我们目前的要求,那么就可以在子类把该功能复写,达到复合我们的要求。

40090000e114bc085557

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

1.1 hashCode方法

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

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

400a0000d6985c56deee

 

转载于:https://my.oschina.net/u/1054538/blog/1648335

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值