关于java中重写.equals()方法的问题
本文介绍了关于java中重写.equals()方法的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
if (getClass() != o.getClass()) {
return false;
}
关于if判断中的条件,等号后是o对象调用Object类中getClass()方法,而前者,是谁对Object类中的getClass()方法进行调用呢?这里为什么不需要写this.getClass()呢?
解决方案
是当前对象的 getClass()方法。
在当前对象内使用当前对象的方法或者属性可以忽略 this
,除非有参数名重复,才需要特别指定 this
class Demo {
private String id;
private String name;
public Demo(String id, String name){
this.id = id; // 参数与字段名重复,所以需要指定 this
this.name = name;
}
public Demo(String username) {
name = username; // 这里的name 就是当前对象的name
id = getClass().toString(); // 这里的 getClass() 也是当前对象的getClass() 方法
}
}
这篇关于关于java中重写.equals()方法的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文