javaSE學習Day1之Object類的使用

来源:https://www.cnblogs.com/KJplant/archive/2023/03/26/17258726.html
-Advertisement-
Play Games

Object類的使用 Object類 Object類中的方法可以在網上搜索得到 Object類是所有java類的父類 如果類在聲明中未使用extends關鍵字指明其父類,則預設父類為java.lang.Object類 Object類中的功能(屬性、方法)具有通用性。 屬性:無 方法:equals() ...


Object類的使用

Object類

Object類中的方法可以在網上搜索得到

  • Object類是所有java類的父類

  • 如果類在聲明中未使用extends關鍵字指明其父類,則預設父類為java.lang.Object類

  • Object類中的功能(屬性、方法)具有通用性。

    屬性:無

    方法:equals() / toString() / getClass() / hashCode() /clone() / finalize() / wait() / notify() / notifyAll()

  • Object只有一個空參構造器


==和equals()的區別

1、 ==的使用:

  1. 可以使用在基本數據類型變數和引用數據類型變數中

  2. 如果比較的是基本數據類型的變數,比較的是兩個變數保存的數據是否相等(不一定要類型相同)

    如果比較的是引用數據類型變數,比較的是兩個變數的地址值是否相同,即兩個引用是否指向同一個對象實體。

2、equals()的使用:

  1. 是一個方法,而非運算符

  2. 只能應用於引用數據類型

  3. Object類中equals()定義:

    pubulic boolean equals(Object obj){

    ​ return (this == obj)

    }

    //說明:Object類中定義的equals()和==作用是相同的,即兩個引用是否指向同一個地址

  4. 像String、Date、File、包裝類都重寫了equals()方法,即比較的是兩個對象的"實體內容"是否相同

  5. 通常情況下,我們自定義的類如果調用equals()方法,通常是比較對象的"實體內容"是否相同,因此需要對Object類的equals()方法進行重寫。【一些編譯器可以自動生成重寫的代碼】

Customer cust1 = new Customer("TOM",21);
Customer cust2 = new Customer("TOM",21);
String str1 = new String("aaa");
String str2 = new String("aaa");
System.out.println(cust1.equals(cust2));//flase
System.out.println(str1.equals(str2));//true

基本數據類型變數

  • 在記憶體種存儲的是一個基本類型值。
  • 可以在棧中直接分配記憶體
  • 例如 int a=1; 變數a的值就是int值1;

引用數據類型變數

  • 對應記憶體所存儲的值是一個引用,是對象的存儲地址。
  • 對象的引用在棧中,對象實際存放在堆中。
  • 例如 Circle circle = new Circle(9)【參數表示半徑】; 變數circle 的值保存的是一個引用,它指明這個Circle對象的內容存儲在記憶體的什麼位置。

toString()方法

  1. 當我們輸出一個對象的引用時就是調用當前對象的toString()
  2. Object類中toString()定義

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

  1. 像String、Date、File、包裝類都重寫了toString()方法,使得調用toSting()方法時,返回"實體內容"信息
  2. 自定義類也可以重寫toString()方法,當調用此方法時,返回對象的"實體內容"【一些編譯器可以自動生成重寫的代碼】


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用 VLD 記憶體泄漏檢測工具輔助開發時整理的學習筆記。本篇介紹在 QT 中使用 VLD 時,有一處記憶體泄漏時的輸出報告解析。 ...
  • 目錄 瞭解需求 方案 1:資料庫輪詢 方案 2:JDK 的延遲隊列 方案 3:時間輪演算法 方案 4:redis 緩存 方案 5:使用消息隊列 瞭解需求 在開發中,往往會遇到一些關於延時任務的需求。 例如 生成訂單 30 分鐘未支付,則自動取消 生成訂單 60 秒後,給用戶發簡訊 對上述的任務,我們給 ...
  • 操作系統 :Windows10_x64 、CentOS 7.6.1810_x64 wireshark版本:3.6.12 Python 版本 : 3.9.12 一、背景描述 工作中有時候會遇到需要從pcap抓包文件裡面提取音頻的情況,比如下麵這些場景: 從pcap文件裡面導出wav文件 從pcap文件 ...
  • 電腦組成原理 哈工大 劉巨集偉 b站課程地址:https://www.bilibili.com/video/BV1t4411e7LH/?spm_id_from=333.337.search-card.all.click 編譯原理 哈工大 陳鄞 b站課程地址:https://www.bilibili. ...
  • 在C++/Qt網路通訊模塊設計與實現(四) 中具體分析了Qt的信號槽、線程相關的知識,即從 Qt::ConnectionType,示例源碼,結果論證,歸納總結等四個方面進行了全方面講解,深刻闡述了代碼設計的原因。這節講解介面的應用,從廣度上讓大家對面向介面編程(該編程思想很重要)進行掌握。 ...
  • 本文已經收錄到Github倉庫,該倉庫包含電腦基礎、Java基礎、多線程、JVM、資料庫、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分散式、微服務、設計模式、架構、校招社招分享等核心知識點,歡迎star~ Github地址 大家好,我是大彬~ 今天來聊聊接 ...
  • 包裝類的使用 包裝類的使用 java提供8種基本數據類型對應的包裝類,使得基本數據類型變數具有類的特征 掌握:==基本數據類型、包裝類、String==三者之間的互相轉換 自動裝箱與自動拆箱==[基本數據類型和包裝類的轉換]== JDK5.0新特性,自動裝箱與自動拆箱。 class Test{ pu ...
  • Qt 源碼分析之moveToThread 這一次,我們來看Qt中關於將一個QObject對象移動至一個線程的函數moveToThread Qt使用線程的基本方法 首先,我們簡單的介紹一下在Qt中使用多線程的幾種方法: 重寫QThread的run函數,將要在多線程執行的任務放到run函數里 /*myt ...
一周排行
    -Advertisement-
    Play Games
  • 前言 JSON Web Token(JWT)是一個非常輕巧的規範。這個規範允許我們使用 JWT 在用戶和伺服器之間傳遞安全可靠的信息。一個 JWT 實際上就是一個字元串,它由三部分組成,頭部、載荷與簽名。前兩部分需要經過 Base64 編碼,後一部分通過前兩部分 Base64 編碼後再加密而成。針對 ...
  • 一:背景 1. 講故事 今天本來想寫一篇 非托管泄露 的生產事故分析,但想著昨天就上了一篇非托管文章,連著寫也沒什麼意思,換個口味吧,剛好前些天有位朋友也找到我,說他們的拍攝監控軟體卡死了,讓我幫忙分析下為什麼會卡死,聽到這種軟體,讓我不禁想起了前些天 在程式員桌子上安裝監控 的新聞,參考如下: 我 ...
  • 文章目錄 介紹 ABP的依賴註入系統是基於Microsoft的依賴註入擴展庫(Microsoft.Extensions.DependencyInjection nuget包)開發的。所以我們採用dotnet自帶的註入方式也是支持的。 由於ABP是一個模塊化框架,因此每個模塊都定義它自己的服務併在它自 ...
  • 前言 外觀模式,英文名稱是:Facade Pattern。我們先從名字上來理解一下“外觀模式”。我看到了“外觀”這個詞語,就想到了“外表”這個詞語,兩者有著很相近的意思。就拿談戀愛來說,“外表”很重要,如果第一眼看著很舒服、有眼緣,那就有交往下去的可能。如果長的“三寸釘、枯樹皮”,估計就夠嗆了。在這 ...
  • 模擬.NET實際應用場景,綜合應用三個主要知識點:一是使用dnSpy反編譯第三庫及調試,二是使用Lib.Harmony庫實現第三庫攔截、偽造,三是實現同一個庫支持多版本同時引用。 ...
  • 通過strimzi部署的kafka集群,如何部署prometheus+grafana去監控呢?官方文檔信息量太大,即便照著做也可能失敗,這裡有一份詳細的保姆級操作指南,助您成功部署監控服務 ...
  • 在工具類中封裝getBean,使用哪個介面來實現 實事上,在工具類中,實現BeanFactoryPostProcessor和ApplicationContextAware介面後,使用它們構造方法里的對象ConfigurableListableBeanFactory和ApplicationContex ...
  • 1章:系統基礎信息模塊詳解 通過第三方模塊獲取伺服器的基本性能、塊設備、網卡介面、網路地址庫等信息。 1.1 系統性能模塊psutil:獲取系統性能信息、記憶體信息、磁碟信息、網路信息、用戶信息等。 1.2 IP地址處理模塊IPy: 處理IP地址,網段等。 1.3 DNS處理模塊dnspython: ...
  • EasyExcel動態表頭導出(支持多級表頭) 在很多業務場景中,都會應用到動態表頭的導出,也會涉及到多級表頭的導出,如下圖所示 通過EasyExcel,我們可以快速實現這一需求,具體代碼如下 DynamicHeader import java.util.List; /** *@Author: <a ...
  • 基於java線上婚紗定製系統設計與實現,可適用於線上婚紗攝影預定系統,基於web的婚紗影樓管理系統設計,基於web的婚紗影樓管理系統設計,婚紗攝影網系統,婚紗攝影網站系統,婚紗攝影網站系統,婚紗系統,婚紗管理系統等等; ...