java基礎_面向對象_equals()方法和“==”

    一個面試的時候經常會遇到的java基礎題目,equals()方法和“==”的區別。想順着這個題目好好的捋一捋其中的關係。結論是如果”==”比較的是對象的地址,只要是new出來兩個對象,比較兩個對象的引用,肯定永遠都不一樣 。只要畫一畫其內存分析,肯定是指向不同的地址。
   再去重新理解static的時候我想從最簡單的開始,修飾類的屬性。

目錄


(1) java基類Object類

   在類中,static修飾的成員變量稱爲靜態成員變量,它爲該類的公有變量,只有在第一次使用時被初始化,對於該類所有對象來說,static成員變量只有一份。


(2) hashCode()方法

   試着站在java虛擬機的角度來看內存中的佈局。一個程序運行時可能會有很多很多個對象在堆內存中分配,對於java虛擬機來說需要找到這些對象,會用一張表記錄着每一個對象在什麼位置上,而這張表一般是又哈希編碼來記錄,每個對象都有自己獨一無二的hash編碼, 根據這個編碼就能找到相關的對象。

    equals()方法、hashCode()方法以及HashMap之間聯繫密不可分的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章