toString()
含义:返回对象的字符串表示形式。默认情况下,此方法返回类名和对象的哈希码的无符号十六进制表示形式。子类通常会重写此方法以返回更有意义的字符串表示形式。示例:public class Person {
private String name;
// 构造函数、getter和setter等
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
'}';
}
}
// 使用示例
Person p = new Person("Alice");
System.out.println(p); // 输出: Person{name='Alice'}
clone()
含义:创建并返回此对象的一个副本。默认情况下,此方法是保护的,意味着它只能在同一包内的类或子类中访问。要使其对外部可用,子类必须覆盖此方法并声明为public。另外,由于对象的默认克隆机制是浅拷贝(shallow copy),因此如果对象包含对其他对象的引用,则这些引用将被复制到新对象中,而不是引用的对象本身。示例:通常,只有实现了Cloneable接口的类才能被克隆。
finalize()
含义:当垃圾回收器确定不存在对该对象的更多引用时,在对象被垃圾回收之前调用此方法。但是,在现代Java中,finalize方法已经被弃用,因为垃圾回收器的行为是不确定的,并且很难预测何时会调用finalize方法。示例:由于finalize方法已被弃用,并且不建议使用,因此这里不提供示例代码。
getClass()
含义:返回一个Class对象,该对象表示此Object的运行时类。示例:Object obj = new String("Hello");
Class> objClass = obj.getClass();
System.out.println(objClass.getName()); // 输出: java.lang.String
notify()
含义:唤醒在此对象监视器上等待的单个线程(如果存在)。示例:通常与wait()和synchronized关键字一起使用来实现线程间的通信。
notifyAll()
含义:唤醒在此对象监视器上等待的所有线程。示例:同样,通常与wait()和synchronized关键字一起使用来实现线程间的通信。
wait()
含义:导致当前线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法;或者直到某个其他线程中断当前线程;或者已发生某种“特殊操作”(通常是由于某种I/O操作或notify()/notifyAll()的调用)。示例:也通常与synchronized一起使用,用于线程间的通信和同步。