Java重点!object类重写toString,equals方法

对象就是一个地址值,接着右边传过来的对象,String s=p.toString(),把p.字符串输出赋值给s,若打印s的值会包括类所在路径加上十六位地址值,也就是说,和直接输出p的值没区别,打印对象名,就是调用p,toString()方法,可是打印地址值没有作用,所以要对它进行重写,来打印p的变量值
,打印对象默认。toString();string的tostring已经被重写。返回对象
在这里插入图片描述 解释this
string和new的对象不同,new的值是一个地址,string对象就是一个值
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
名字alt+insert加入tostring即可
在这里插入图片描述
以后不仅要加set,get,构造函数,还要加上tostring方法(重写后的),(默认打印地址,若不是地址值,俺么这个类的所在对象tostring重写了)来调用tostring方法来打印属性值,害完美,打印对象的tostring’方法打印值,这就是这节课的目的吧在这里插入图片描述
若要打印地址值,一定要把tostring’重写注释了,否则会影响,下面是对string地址打印的解决解答
https://bbs.csdn.net/topics/350230850

equals

  • 默认方法返回boolean类型,内部有一个返回值this==obj,this,obj都懂就是p1,p2,主要说这个/=/=,基本类型的=/=比较的是大小,引用类型比较的是地址值,同样的,比叫地址值也没有什么作用啊,也要对它进行重写,重写要进行向下转型,在重写时加入判断,是否为空,是否是person类(用instanceof判断并写入向下转型),不是person类返回false,快捷键也有,同toString();
  • 在这里插入图片描述
  • 若有一值为空那么会报错。equals方法不支持,这时用到了
  • Objects.equals方法
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    普通equals方法任何一个对象有空都不行,object可以,比较a与b的地址或a是空比较a==b、在这里插入图片描述
    普通equals不能这样写,因为只穿一个参数在这里插入图片描述
    哦呼,这样可以,答案啊是两个true在这里插入图片描述
    String方法的equals方法以及重写比较的是值,new,实例化对象的还是比较地址值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值