Object类

Object类

Object类是所有Java类的根父类 ,如果在类的声明中未使用extends关键字指明其父类,则默认父类 为java.lang.Object类

Object类中的主要结构


“==”和equals的区别

  1. == 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型 就是比较内存地址
  2. equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也 是==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中 用的比较多,久而久之,形成了equals是比较值的错误观点。
  3. 具体要看自定义类里有没有重写Object的equals方法来判断。
  4. 通常情况下,重写equals方法,会比较类中的相应属性是否都相等

equal重写例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 	public boolean equals(Object o) {
System.out.println("equals重写");
if(o==this) {
return true;
}if(o instanceof Customer) {
Customer cu = (Customer)o;
if(cu.age==this.age&&cu.name.equals(this.name)) {
return true;
}else {
return false;
}
}else {
return false;
}
}

评论 (tip: 昵称框输入QQ号即可评论)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×