更新時間:2020-04-14 12:14:37 來源:動力節點 瀏覽2585次
在Java中,只有基本類型(int,boolean等)的值不是對象。其他類型,包括數組類型,不管是對象數組還是基本類型的數組都擴展與Object類。
Object類概述
類Object是類層次結構的根類。每個類都使用Object作為超類。所有對象(包括數組)都實現這個類的方法。
簡單來說就是,Object類是所有類的父類,包括我們所寫的類,我們在使用類的時候就會利用Object類中的方法。
Object中常用方法:
publicbooleanequals(Objectobj)
比較當前對象與obj是否為同一對象,返回值:ture/false
publicStringtoString()
返回當前對象的字符串表達形式
publicnativeinthashCode();
返回對象的Hash碼。Hash碼是標志對象的唯一值,Hash碼相同的對象是同一對象
protectedvoidfinalize()throwsThrowable
對象銷毀時被調用
以下三個函數用于控制線程
publicfinalnativevoidnotify();publicfinalnativevoidnotifyAll();publicfinalnativevoidwait();
native型方法指由C++語言編寫的方法,Java解釋器對其進行轉義后才執行。
都知道java中比較字符串是否相等應該用equals();而==則是比較的值,也就是引用;那么為什么是這樣的呢?equals的實現方法,字符串的比較,是通過每一個字符進行比較,如果都相等,則返回true;而源碼里面Object類型的equals方法卻是直接用==來代替的,也就是說相當于直接比較引用了,這也就是為什么我們有時候要重寫equals方法了,下面附上Jdk中String類型的equals方法源碼。
publicbooleanequals(ObjectanObject){
if(this==anObject){
returntrue;
}
if(anObjectinstanceofString){
StringanotherString=(String)anObject;
intn=value.length;
if(n==anotherString.value.length){
charv1[]=value;
charv2[]=anotherString.value;
inti=0;
while(n--!=0){
if(v1[i]!=v2[i])
returnfalse;
i++;
}
returntrue;
}
}
returnfalse;
}
以上就是動力節點java培訓機構的小編針對“Javase基礎教程,Java常用類Object”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
Java零基礎學習視頻
2020Java零基礎教程:http://www.dabaquan.cn/javavideo/110.html
2020JavaSE進階:http://www.dabaquan.cn/javavideo/144.html
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習