Object类成员方法

  Object类共有12个成员方法,按用途可以分为以下几种:
1.clone()
2.hashCode和equale函数用来判断对象是否相同
3.toString()和getClass
4.wait(),wait(long),wait(long,int),notify(),notifyAll()
5.finalize()用于在垃圾回收
6.构造函数

1.clone()

  • clone()函数的用途是用来另存一个当前存在的对象。

2.hashCode()和equale()

  • equale()用于确认两个对象是否相同。
  • hashCode()用于获取对象的哈希值,这个值的作用是检索,具体的作用可以参考这里。
  • 哈希值相同的对象不一定equale(),equale()返回true的两个对象一定相同。

3.toString()和getClass()

  • toString()返回一个String对象,用来标识自己。
  • getClass()返回一个Class对象,如果打印出来会发现结果是如下格式:
class package.name.xxx

  因为返回的是一个class对象,后面可以跟class类的方法。用的是谁的构造函数,那么getClass返回的就是谁的类型。getClass()经常用于java反射机制。

4.wait(),wait(long),wait(long,int),notify(),notifyAll()

  这几个函数体现的是Java的多线程机制,在使用的时候要求在synchronize语句中使用。

  • wait()用于让当前线程失去操作权限,当前线程进入等待序列。
  • notify()用于随机通知一个持有对象的锁的线程获取操作权限。
  • notifyAll()用于通知所有持有对象的锁的线程获取操作权限。
  • wait(long)和wait(long,int)用于设定下一次获取锁的距离当前释放锁的时间间隔。

5.finalize()

  这个函数在进行垃圾回收的时候会用到,匿名对象回收之前会调用到,具体的例子如下所示:

public class GC  {
    public static void main(String[] args){
        new GC();
        System.gc();
        }
        
    @Override
    protected void finalize() throws Throwable {
        System.out.println("finalize called");
        }
}

你可能感兴趣的:(Object类成员方法)