Object有哪些公用的方法?


Object是所有類的父類,任何類都默認繼承Object。

public class Demo {

    public static void main(String[] args) {
        
        Object object = new Integer(1);
        Object object2 = new Integer(1);
        //final方法,獲得運行時類型
        Object classType = object.getClass();
        //該方法用於哈希查找,重寫了equals方法一般都要重寫hashCode方法。
        //這個方法在一些具有哈希功能的Collection中用到
        int hashCode = object.hashCode();
        //在Object中與==是一樣的,子類一般需要重寫該方法
        System.out.println(object.equals(object2));
        //喚醒在該對象上等待的某個線程
        object.notify();
        //喚醒在該對象上等待的所有線程
        object.notifyAll();
        //保護方法,實現對象的淺復制,只有實現了Cloneable接口才可以調用該方法,否則拋出CloneNotSupportedException異常
        try {
            /*
             * 使當前線程等待該對象的鎖,當前線程必須是該對象的擁有者,也就是具有該對象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。
             * wait(long timeout)設定一個超時間隔,如果在規定時間內沒有獲得鎖就返回。 
                調用該方法后當前線程進入睡眠狀態,直到以下事件發生: 
                1. 其他線程調用了該對象的notify方法 
                2. 其他線程調用了該對象的notifyAll方法 
                3. 其他線程調用了interrupt中斷該線程 
                4. 時間間隔到了 
                此時該線程就可以被調度了,如果是被中斷的話就拋出一個InterruptedException異常
             */
            object.wait();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM