一文带你了解Java万物之基之Object类
Java语言中的每个类都是继承自基类Object,因此Object类是所有类的父类。这篇文章将会介绍Object类的常用方法和示例说明。
常用方法
equals
Object类的equals方法用于比较两个对象是否相等。Object类的equals方法使用的是比较对象的地址值,即两个对象的地址是否相同,若相同则返回true;若不同则返回false。在实际的使用中,我们可以重写equals方法,用来比较两个对象的实际内容是否相等。
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof Student) {
Student s = (Student) obj;
if (this.name.equals(s.name) && this.age == s.age) {
return true;
}
}
return false;
}
}
toString
Object类的toString方法用于返回对象的字符串表示,一般情况下,toString方法返回的字符串可以用来描述对象的内在状态。
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
示例说明
示例一
public class ObjectDemo {
public static void main(String[] args) {
Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1.equals(obj2)); // false
System.out.println(obj1.toString()); // java.lang.Object@xxxxxx
}
}
在这个示例中,obj1和obj2是两个不同的对象,因此他们的地址值不同,equals方法返回的结果为false。而toString方法返回的是对象的地址值。
示例二
public class ObjectDemo {
public static void main(String[] args) {
Student s1 = new Student("张三", 18);
Student s2 = new Student("张三", 18);
System.out.println(s1.equals(s2)); // true
System.out.println(s1.toString()); // Student [name=张三, age=18]
}
}
在这个示例中,s1和s2是两个不同的对象,但是它们的实际内容相同,因此重写的equals方法返回的结果为true。而toString方法返回的是对象的内容。
总结
Object类是Java中所有类的父类,具有比较对象是否相等、返回对象字符串表示等常用方法。在实际的开发中,我们可以重写equals方法和toString方法,以满足特定的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你了解Java万物之基之Object类 - Python技术站