JavaSE - Object 類詳細講解

定義

是所有類的直接或者間接父類,是 Java 中唯一一個沒有父類的類。其中所有的方法都是可以被子類繼承的。

常用方法

  1. equals方法:?比較兩個對象引用的地址值是否相同,默認情況下是使用 “==” 進行比較,但是這個方法一般會被之類重寫,如下圖是?String?類型的 equals 方法,他對父類的方法進行了重寫,比較的是值而非地址值

 public class Main {public static void main(String[] args) {String str1 = new String("abc");String str2 = new String("abc");System.out.println(str1.equals(str2)); // trueSystem.out.println(str1 == str2); // false}}
  1. hashCode方法:?hashCode (哈希碼|散列碼) 是一種編碼方式。每個對象都會繼承這個方法如果不重寫,那么他會將對象地址值轉為 int 數組進行返回。hashCode 的作用就是確定對象在 Hash表中的索引位置,提高查詢效率。
建議hashCode 和 equals 方法應該同時被重寫。應為? hashCode 是為了提高查詢效率,但是可能會產生 hash 沖突(兩個對象 hashCode 相同),此時 需要重寫 equals 來判斷兩個對象是否值相同(原始是比較地址),如果相同則不插入,不相同則以鏈表(具體實現可以百度一下)來處理這個 hash 沖突。這個不會寫沒有關系,可以使用快捷鍵? Auto + Insert?幫我們自動生成。

  1. toString 方法:?打印對象會自動調用 toString 方法,如果不重寫這回調用 Object 默認的。一般我們會按照我們自定義的方式重寫該方法。當然也可以使用快捷鍵?Auto + Insert?幫我們自動生成。
  2. native 方法:?native?修飾的方法,只說明不實現。Java 只能調用這個方法,但是不能查看和修改。
  3. clone 方法:
  • 創建一個和當前對象相同的對象(屬性相同),和?“=” 賦值操做不同,clone 方法是直接創建了一個副本,開辟了一個新的地址用來存拷貝后的對象,賦值操做只是將兩個引用指向同一塊地址。
  • clone 由淺拷貝和深拷貝的區分,當對象類屬性存在引用類型時可見,雖然執行拷貝后的兩個對象在不同地址,但是里面引用類型變量確實指向同一塊地址(淺拷貝)。所以對于引用類型的屬性,應該做深拷貝(將其中引用類型同樣再拷貝一份)。
  • 代碼編寫要求:
    • 必須要實現 Cloneable 接口(標識性接口)
    • 重寫 clone 方法,用?public 修飾。
    • 要處理 CloneNotSupportedException 異常。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85127.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85127.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85127.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

觀遠ChatBI|讓數據分析像聊天一樣簡單

BI通過收集、整合和分析企業內部的各種數據,幫助企業發現數據中的模式和趨勢,從而做出更明智的商業決策,以此來提升企業的經營能力和競爭力。無論是傳統BI還是自助BI,都是為了在數據和人之間建立一座橋梁,使數據能夠被…

Go語言同步原語與數據競爭:WaitGroup

在Go語言并發編程中,我們經常需要等待多個 goroutine 執行完畢后再繼續下一步操作。Go 提供的 sync.WaitGroup 就是專為這種**“等待一組任務完成”**而設計的同步原語。 一、基本原理 sync.WaitGroup 提供三個主要方法: 方法說明Add(n int)設置等待的…

Java單體架構 vs 分布式架構

Java單體架構 vs 分布式架構 在電商系統開發中,當用戶量從幾百激增到百萬級,你的架構是否還能從容應對?一次代碼更新是否意味著整個系統停機?今天我們就來拆解Java架構設計的核心命題:單體還是分布式? 一、…

day40- 硬件學習之 51單片機II (中斷處理)

一、獨立按鍵的使用 main.c key.c key.h 二、中斷處理 2.1 定義 中斷系統是為使CPU具有對外界緊急事件的實時處理能力而設置的。 當CPU正在處理某件事的時候外界發生了緊急事件請求,要求CPU暫停當前的工作,轉而去處理這個緊急事件,處理完以…

機器學習:開啟智能時代的大門

一、引言 機器學習(Machine Learning)正成為人工智能的核心技術。從 Netflix 推薦電影,到銀行識別欺詐交易,機器學習正在逐漸改變世界。本篇文章將從理論到實操全面介紹機器學習的基礎概念,并附有代碼和案例。 二、什…

幾個重要的行列式 線性代數

目錄 1.主(副)對角線行列式 2 拉普拉斯展開式 3 范德蒙德行列式 對于行列式的計算來說,一般給出的行列式我們都要對其進行化簡,但是化簡到什么程度就可以了呢? 這就是本篇的用處,一般給出的行列式化簡的…

答辯講解387基于Spring Boot的心理健康管理系統

摘 要 視頻地址 答辯講解387基于Spring Boot的心理健康管理系統_嗶哩嗶哩_bilibili 自改革開放政策施行以來,我國經濟持續保持快速增長態勢,國民生活水平得到了明顯提升,然而近些年來,經濟增速出現放緩,再加上疫情等…

使用WinUSB讀寫USB設備

參考:使用WinUSB讀寫USB設備 - USB中文網

DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION

摘要 在本文中,我們將學習過程解耦為表征學習和分類,系統地探究不同的平衡策略如何對長尾識別產生影響。研究結果令人驚訝:(1)數據不平衡在學習高質量表征時可能并非問題;(2)通過最…

如何使用joomla5緩存來加速網頁加載速度

Joomla 有多種緩存“內容”的方式。我們將以兩個角色來介紹和使用緩存,在這篇將以普通管理員的視角來概述——緩存什么、在哪里緩存以及何時緩存。 什么是Joomla 緩存cacha 作為管理員,Joomla 為您提供了緩存網站內容的能力。您可以選擇緩存整個網頁或…

《我們的十年》電影聯合品宣品牌白碧美:自然與科技共融

破界新生,定義東方美膚高度 湖南白碧美生物科技有限公司,扎根中國創新活力之都——星城長沙,是以“科技賦能美膚”為核心的高端輕奢護膚品牌。秉承“自然與科技共融”的品牌哲學,白碧美將千年東方草本植萃智慧與現代尖端生物科技…

B樹與B+樹:數據庫索引背后的秘密

B-tree(B樹)和Btree(B樹)是兩種高效的多叉樹數據結構,專為磁盤存儲系統優化設計,廣泛應用于數據庫和文件系統的索引。以下是兩者的核心特點及區別: ?? 一、B-tree(B樹)…

歐洲宇航局如何為航天員提供虛擬現實訓練內容

通過身臨其境的模擬,宇航員可以完善他們在太空行走中執行的每一個動作,以確保更好地準備前往國際空間站、月球和其他地方執行任務。 VR/XR技術在宇航員訓練中的優勢: 提高安全性:復雜或危險程序的無風險實踐 成本和資源節約:減少對實體模型、…

打卡Day53

知識點: 1.對抗生成網絡的思想:關注損失從何而來 2.生成器、判別器 3.nn.sequential容器:適合于按順序運算的情況,簡化前向傳播寫法 4.leakyReLU介紹:避免relu的神經元失活現象 ps:如果你學有余力&#xf…

【Three.js】機器人管線包模擬

機器人管線包模擬 背景技術選型效果視頻效果截圖 最近在工業數字化項目中嘗試用Three.js實現了一個機器人管線包的3D可視化模擬系統,記錄一下開發過程和技術要點,希望能給同樣在探索Web3D技術的同學一些靈感。 背景 管線包(Dress Pack&…

微軟將開始使用 Copilot Vision 監控 Windows 10 和 11 用戶的螢幕

這對於提供幫助是必要的,美國用戶已經可以欣賞這項創新。 微軟為其AI助理Copilot添加了新的Vision功能,使其能夠即時分析用戶螢幕上發生的事情並幫助解決當前的問題。 根據該公司介紹,Copilot Vision 能夠捕捉使用者所見內容,並可…

多模態大語言模型arxiv論文略讀(123)

Enhancing Advanced Visual Reasoning Ability of Large Language Models ?? 論文標題:Enhancing Advanced Visual Reasoning Ability of Large Language Models ?? 論文作者:Zhiyuan Li, Dongnan Liu, Chaoyi Zhang, Heng Wang, Tengfei Xue, Weid…

【linux】Linux vs Android

文章目錄 1、聯系2、區別3、核心差異4、應用場景對比5、未來發展趨勢6、參考附錄——GNU 都說Android就是個裝了UI的Linux,可到底和Linux有什么關系呢? 1、聯系 內核基礎 共享Linux內核:安卓基于Linux內核構建,繼承了Linux的進程…

臺積電(TSMC)工藝庫命名規則

以標準單元庫tcb_n12ffcll_bwp_6t_20_p96_cpd_lvt_tt0p8v25c_hm_lvf_p_ccs舉例說明臺積電工藝庫命名規則。 文件名分段解析 字段含義補充說明tcbTSMC標準單元庫(TCBN = TSMC Cell Library, Base Node)通常用于標識基礎標準單元庫,區別于IO庫(tciobn)或模擬庫(tcap)。n1…

飛算 JavaAI 模塊化生成:重構效率與體驗的雙重升級

在 Java 老項目重構場景中,代碼生成的顆粒度與可控性直接影響開發效率。飛算 JavaAI 創新推出的模塊化智能生成機制,支持按接口、按模塊粒度觸發源碼生成,通過任務拆解與漸進式交付模式,為開發者提供更靈活的重構節奏控制&#xf…