一文带你了解Java中的Object类及类中方法
什么是Object类?
在Java中,所有的类都继承自Object类,Object类是Java中所有类的祖先类,其定义了所有类都有的基本方法。
Object类中的常用方法
equals()方法
equals()方法用于判断两个对象是否相等。如果两个对象的内容相同,equals方法返回true,否则返回false。
String str1 = "hello";
String str2 = new String("hello");
System.out.println(str1.equals(str2)); // 输出true
hashCode()方法
hashCode()方法是Object类中的方法,返回一个对象的哈希码值,用于支持基于哈希表的Java集合,例如HashMap和HashSet。
String str = "hello";
System.out.println(str.hashCode()); // 输出99162322
toString()方法
toString()方法是Object类中的方法,用于返回一个包含对象字符串表示的String对象。
Integer num = 123;
System.out.println(num.toString()); // 输出123
getClass()方法
getClass()方法是Object类中的方法,用于获取对象的类对象。
String str = "hello";
System.out.println(str.getClass()); // 输出class java.lang.String
clone()方法
clone()方法是Object类中的方法,用于创建并返回一个对象的副本,在某些情况下可以避免创建新对象。
String str = "hello";
String strCopy = str.clone();
System.out.println(strCopy); // 输出hello
Object类中的深入方法
除了常用方法之外,Object类中还有一些用于线程控制、通知和监视的方法。
notify()和notifyAll()方法
notify()方法用于唤醒一个等待线程,在调用此方法之前,必须先获取对象的锁;notifyAll()方法用于唤醒所有等待线程。
public class MyObject {
public synchronized void myMethod() {
notify(); // 唤醒一个等待线程
notifyAll(); // 唤醒所有等待线程
}
}
wait()方法
wait()方法用于将线程挂起,直到另一个线程调用notify()或notifyAll()方法唤醒它。
public class MyThread extends Thread {
private MyObject obj;
public MyThread(MyObject obj) {
this.obj = obj;
}
public void run() {
synchronized (obj) {
try {
obj.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
总结
本文介绍了Java中Object类的基本知识,包括常用方法和线程控制方法。Object类是Java中所有类的祖先类,了解Object类对于Java程序员来说是非常重要的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你了解Java中的Object类及类中方法 - Python技术站