Java中父类Object的常用方法总结
在Java中,所有类都直接或间接继承自Object类。因此,Object类中的方法可以在所有Java类中使用。Object类中提供的方法包括:
toString方法
toString方法是将对象转换成字符串的方法,在Java当中可以非常方便地输出一个对象的信息。当我们打印一个对象时,实际上是调用了该对象的toString方法来输出字符串。
示例:
public class Student {
private String name;
private int age;
// 构造方法省略
// 重写toString方法
@Override
public String toString() {
return "Student{name='" + name + "', age=" + age + "}";
}
}
public class Main {
public static void main(String[] args) {
Student stu = new Student("张三", 18);
System.out.println(stu); // 输出:"Student{name='张三', age=18}"
}
}
equals方法
equals方法用于判断两个对象是否相等。在Java中,如果使用==来比较两个对象,实际上比较的是两个对象的引用是否相同,即它们是否指向同一块内存地址。如果需要比较两个对象的内容是否相同,就需要用到equals方法。
示例:
public class Student {
private String name;
private int age;
// 构造方法省略
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj.getClass() != getClass()) {
return false;
}
Student stu = (Student) obj;
return name.equals(stu.getName()) && age == stu.getAge();
}
// 省略get和set方法
}
public class Main {
public static void main(String[] args) {
Student stu1 = new Student("张三", 18);
Student stu2 = new Student("张三", 18);
System.out.println(stu1.equals(stu2)); // 输出:true
}
}
hashCode方法
hashCode方法用于获得对象的哈希值。哈希值实际上是由对象的内容生成的一个整数,它可以用于在哈希表中进行查找、插入和删除等操作。
示例:
public class Student {
private String name;
private int age;
// 构造方法省略
@Override
public int hashCode() {
int result = 17;
result = 31 * result + name.hashCode();
result = 31 * result + age;
return result;
}
// 省略get和set方法
}
public class Main {
public static void main(String[] args) {
Student stu = new Student("张三", 18);
System.out.println(stu.hashCode()); // 输出:975826635
}
}
getClass方法
getClass方法用于获取对象的Class对象,它可以用于获取对象的类型信息。通过Class对象,我们可以获取该类型的所有信息,包括成员变量、方法等。
示例:
public class Student {
private String name;
private int age;
// 构造方法省略
// 省略get和set方法
}
public class Main {
public static void main(String[] args) {
Student stu = new Student("张三", 18);
Class<?> clazz = stu.getClass();
System.out.println(clazz.getName()); // 输出:"Student"
}
}
finalize方法
finalize方法是在对象被回收前会被调用的方法。它可以用于清理对象的资源,例如关闭文件、释放网络连接等。
示例:
public class Student {
private String name;
private int age;
// 构造方法省略
// finalize方法
@Override
protected void finalize() throws Throwable {
System.out.println("学生对象被回收了");
// 清理资源
}
// 省略get和set方法
}
public class Main {
public static void main(String[] args) {
Student stu = new Student("张三", 18);
stu = null;
System.gc(); // 建议垃圾回收器执行回收操作
}
}
以上就是Java中父类Object的常用方法总结的完整攻略。通过学习,我们可以更好地理解对象的相关概念,并能更加灵活地应用这些方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中父类Object的常用方法总结 - Python技术站