object类
目录equals(Object obj)方法
用于比较两个对象的等价性。默认实现比较的是对象的内存地址,但通常需要重写这个方法以提供更有意义的比较逻辑。
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass that = (MyClass) obj;
return Objects.equals(this.someField, that.someField);
}
hashCode()方法:
返回对象的哈希码值。通常与 equals
方法一起重写,以确保如果两个对象相等,它们必须有相同的哈希码。
@Override
public int hashCode() {
return Objects.hash(someField1, someField2);
}
toString()方法
返回对象的字符串表示。默认实现返回对象的类名和哈希码的无符号十六进制表示。通常重写这个方法以提供更有用的信息。
@Override
public String toString() {
return "MyClass{" +
"someField='" + someField + '\'' +
'}';
}
clone()方法
用于创建并返回对象的一个副本。Object
类的 clone()
方法是一个受保护的方法,需要在子类中重写并提供公共的访问。
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone(); // 调用父类的 clone 方法
}
getClass()方法
返回对象的运行时类信息。这个方法可以用来获取对象的实际类型,即使对象是作为超类类型引用的。
Object obj = new MyClass();
Class<?> clazz = obj.getClass();
System.out.println(clazz.getName()); // 输出 MyClass
wait()和notify()方法
这些方法是线程同步的基础。wait()
使当前线程等待,直到另一个线程调用相同对象的 notify()
或 notifyAll()
方法。
synchronized (this) {
while (condition) {
wait(); // 等待
}
// 条件满足后执行操作
}
标签:object,obj,对象,clone,Object,return,方法
From: https://www.cnblogs.com/luoyiwen123/p/18336445