java有个Object类。我们先从他的常用方法开始了解:
常用方法:
1.toString() 取得对象信息
class Student{
String name;
int age;
public Student(String name,int age) {
this.name = name;
this.age = age;
}
}
public class TestDemo {
public static void main(String[] args) {
Student s1 = new Student("gao",21);
System.out.println("name:"+s1.name+" age:"+s1.age);//输出对象属性
System.out.println(s1);//直接输出对象信息
System.out.println(s1.toString());//调用父类方法输出对象信息
}
}
输出结果为:
name:gao age:21
learning8.Student@15db9742
learning8.Student@15db9742
从上述结果可以看出编译器默认调用toString方法输出对象信息,但输出的是对象的地址,这并不是我们需要的。所以我们一般要覆写toString方法。
2.equals() 对象相等判断
class Student{
String name;
int age;
public Student(String name,int age) {
this.name = name;
this.age = age;
}
}
public class TestDemo {
public static void main(String[] args) {
Student s1 = new Student("gao",21);
Student s2 = new Student("gao",21);
System.out.println(s1.equals(s2));
}
}
输出结果为一个boolean值,false;
equals方法比较的是两个对象的地址,所以要覆写
3.hashCode() 对象签名
class Student{
String name;
int age;
public Student(String name,int age) {
this.name = name;
this.age = age;
}
}
public class TestDemo {
public static void main(String[] args) {
Student s1 = new Student("gao",21);
Student s2 = new Student("gao",21);
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
}
}
返回其对象所在的物理地址(哈希码值)
此方法和equals()方法一般一起重写。
本文深入探讨Java中Object类的三个核心方法:toString(), equals() 和 hashCode() 的使用及重写技巧。通过实例演示如何正确输出对象信息,判断对象相等性以及获取对象签名。
1418

被折叠的 条评论
为什么被折叠?



