Object类
- Object是根类,最顶层的类。每个类都使用Object作为自己的父类。
- 所有的对象(包括数组)都实现这个类的方法。
toString()方法:
作用:
- 返回对象的地址值。没有意义!!!
- 这个时候需要重写toString()方法。
@Override
public String toString() {
return "IO{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
- 快捷键为alt+ins,选择toString()方法,自动重写,返回的就是该类的属性值。
- 这就意味着,我们在定义属性类时不仅要构造一个无参数方法,还要重写toString()类。
- ArrayList、Scanner重写了toString()方法。
equals()方法:
public boolean equals(Object obj) {
return (this == obj);
}
参数:
方法体:
- ==比较运算符,返回的就是false、true。
- ==基本数据类型比较的都是值。
- ==引用数据类型比较的是两个对象的地址值。
- this是哪个对象调用equals(),哪个就是this值。obj是传递过来的参数。
equals()方法的重写:
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof IO)) return false;
IO io = (IO) o;
return age == io.age &&
Objects.equals(name, io.name);
}
Objects类
equals方法
String s1=null;
String s2="aaa";
boolean b1=s1.equals(s2);
System.out.println(b1);
boolean b2= Objects.equals(s1,s2);
System.out.println(b2);