您的位置:首页 > 移动开发 > Objective-C

java关于Object类中9大方法的分析

2016-05-02 12:41 453 查看
首先看Object类的源代码

public   class  Object {
  

    

    /* 返回此 Object 的运行时类。*/   

     public   final   native  Class<?> getClass();
  

     public   native   int  hashCode();
  
  
  
     public   boolean  equals(Object obj) {
  
     return  ( this  == obj);
  
    }   
  
     /*本地CLONE方法,用于对象的复制。*/   
     protected   native  Object clone()  throws  CloneNotSupportedException;
  
  
     /*返回该对象的字符串表示。非常重要的方法*/   
     public  String toString() {
  
     return  getClass().getName() +  "@"  + Integer.toHexString(hashCode());
  
    }   
  
    /*唤醒在此对象监视器上等待的单个线程。*/   
     public   final   native   void  notify();
  
  
    /*唤醒在此对象监视器上等待的所有线程。*/   
     public   final   native   void  notifyAll();
  

/*在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。换句话说,此方法的行为就好像它仅执行 wait(0) 调用一样。    
当前线程必须拥有此对象监视器。该线程发布对此监视器的所有权并等待,直到其他线程通过调用 notify 方法,或 notifyAll 方法通知在此对象的监视器上等待的线程醒来。然后该线程将等到重新获得对监视器的所有权后才能继续执行。*/   
     public   final   void  wait()  throws  InterruptedException {
  
    wait( 0 );   
    }   
  
  
  
    /*在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。*/   
     public   final   native   void  wait( long  timeout)  throws  InterruptedException;
  
 
  
     /*当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。*/   
     protected   void  finalize()  throws  Throwable { }
  

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐