單元測試總結2

1、重載和重寫的區別

01、定義不同:重載是在同一個類中定義多個方法名相同但參數列表不同的方法;重寫是子類對父類中同名同參數列表的方法進行重新實現

02、范圍不同:重載發生在同一個類中,重寫發生在子類和父類中

03、參數要求不同:重載要求方法參數的類型、個數或者順序不同,重寫要求方法參數列表必須相同

04、返回值要求不同:重載對返回值類型沒有強制要求;重寫要求返回值類型相同或為父類返回值類型的子類

05、訪問修飾符要求不同:重載對訪問修飾符無特殊限制,重寫時子類的訪問修飾符不能比父類的更加嚴格

06、異常處理要求不同:重載對拋出的異常無特殊限制;重寫時子類不能拋出比父類更多或者更寬泛的異常

07、調用方式不同:重載根據調用時的參數列表確定調用哪個方法;重載根據對象的實際類型確定調用子類還是父類的方法。

2、接口與抽象類的區別

? ? ? ? 01、定義不同:接口是方法聲明的集合,不包含方法實現;抽象類是包含抽象方法和具體方法的類

? ? ? ? 02、繼承方式不同:類可以實現多個接口;類只能繼承一個抽象類

? ? ? ? 03、方法實現不同:接口中的方法默認是抽象的;抽象類可以包含抽象方法和具體實現方法

? ? ? ? 04、成員變量不同:接口中成員變量默認是public static final,抽象類可以有各種訪問修飾符的成員變量

? ? ? ? 05、構造造方法不同:接口沒有構造方法;抽象類有構造方法

? ? ? ? 06、設計計目的不同:接口用于定義行為規范,實現多態;抽象類用于代碼復用和繼承體系構建

? ? ? ? 07、訪問問修飾符不同:接口中的訪問修飾符大多是public,抽象類中可以有多種訪問修飾符

? ? ? ? 08、多繼承支持:接口支持多實現;抽象類只能單繼承

3、簡述Java異常體系

異常是程序運行過程中發生的非預期事件,Java中所有的異常都繼承Throwable類:

  1. Error:由JVM生成并拋出,代表嚴重的系統級錯誤,程序通常無法處理,應避免捕獲
  2. Exception:程序可以處理的異常:

01、受檢異常:編譯期必須處理的異常,要么用try-catch捕獲,要么用throws聲明拋出

02、非受檢異常:繼承自RuntimeException的異常,編譯期不強制處理,通常由程序邏輯錯誤導致

4、訪問修飾符public、private、protected、以及不寫(default默認)時的區別

01、public修飾的內容可以在本類,本包,其他包子類以及其他包中訪問

02、protected修飾的內容可以在本類,本包,其他包子類中訪問

03、default修飾的內容可以在本類以及本包中訪問

04、private修飾的內容只能在本類中訪問

5、簡述java 128陷阱

Java128陷阱是指:java對-128到127范圍內的Integer對象進行緩存,自動裝箱時會復用緩存對象,此時用“==”比較會返回“true”,但超出這個范圍,每次裝箱都會創建新對象,用“==”比較會返回“false”,因此比較Integer對象值應使用equals()方法。

6、獲取Class對象的三種方式以及如何忽略安全訪問修飾符的安全檢查

01、通過類名.class:直接使用類名.class的方式獲取,這種方式在編譯時就確定了類型,無需創建對象實例

02、通過對象實例.getClass():通過已有對象的getClass()方法獲取,適用于已創建對象的情況

03、通過Class.forName():通過全類名字符串動態加載類并獲取Class對象,需要處理ClassNotFoundException。

7、簡述從泛型類派生子類的兩種情況

01、子類仍是泛型類:子類繼承泛型父類時,保留泛型參數,自身也聲明為泛型類。此時需要指明父類的泛型參數。

02、子類為具體類:子類繼承泛型父類時,明確指明父類的泛型參數為具體類型,自身不再是泛型類。

注意:子類不能直接繼承未指定泛型參數的原始泛型父類,這會丟失泛型類型信息,編譯器會提示警告。

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

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

相關文章

Wi-Fi技術——MAC特性

有線和無線網絡在數據鏈路層的特性存在差異,具體為: CSMA/CD 用于有線網絡,通過檢測和處理沖突來維持網絡的穩定性。CSMA/CA 用于無線網絡,強調沖突的預防,以應對無線信道共享的挑戰 1 有線網 CSMA/CD 有線網 CSMA/…

OpenHarmony 分布式感知中樞深度拆解:MSDP 框架從 0 到 1 的實戰指南

MSDP設備狀態感知框架技術開發文檔 1. 系統概述 1.1 框架定位 MSDP (Multi-Sensor Data Processing) 設備狀態感知框架是OpenHarmony系統中負責設備狀態識別和分發的核心服務,基于多傳感器融合技術,為系統應用提供設備狀態感知能力。 1.2 核心功能 靜止狀態識別:基于加速…

圖像 OSD層數據 顯示--OSD LOGO單色黑色顯示,按區域大小申請MMZ內存的優缺點分析

在監控攝像機、嵌入式顯示設備等場景中,OSD(On-Screen Display,屏幕顯示)LOGO 常需單色黑色顯示,且按區域大小申請 MMZ(Multi-Media Zone,多媒體專用內存)內存,該方案的優缺點需結合硬件資源、顯示效率、功能適配性等維度綜合分析,具體如下: 一、核心優勢:針對性優…

徐真妍最新雜志封面大片曝光,探索鏡頭下的多面魅力

近日,青年演員徐真妍拍攝的一組大片正式曝光。這組以 “森林系” 為主題的大片,登上時尚雜志《慵懶LAZY DAYS》8-9月刊封面。融合了優雅與現代先鋒感,展現了徐真妍甜美溫婉的表現力。鏡頭前的她,在多種風格間自如切換,…

廣度優先搜索(BFS, Breadth-First Search)

好的,我給你講 廣度優先搜索(BFS, Breadth-First Search),并配一個直觀例子。1?? 什么是廣度優先廣度優先搜索的特點:按層訪問:先訪問根節點,然后訪問它的直接子節點,再訪問子節點…

GD32入門到實戰22--紅外NEC通信協議

ir_drv.c紅外傳輸協議地位在前&#xff0c;所以我們可以這樣保存數據到數組假使接收到1就>>1再|0x80&#xff0c;如果接收到0就>>1新建紅外驅動層代碼ir_drv.c#include <stdio.h> #include "gd32f30x.h" #include <stdbool.h> static voi…

zkML-JOLT——更快的ZK隱私機器學習:Sumcheck +Lookup

1. 引言 ICME團隊開源的zkML項目&#xff1a; https://github.com/ICME-Lab/jolt-atlas&#xff08;Rust&#xff09; zkML-JOLT&#xff08;JOLT ‘Atlas’&#xff09;構建在a16z Crypto團隊的JOLT研究和實現基礎上&#xff0c;其性能比其他zkML項目快了3到7倍。 a16z Cr…

【大模型記憶-Mem0詳解-2】系統架構

概述 Mem0 實現了雙架構系統&#xff0c;通過兩種主要部署模型為 AI 應用提供智能內存能力&#xff1a; 托管平臺 &#xff1a;通過 MemoryClient 和 AsyncMemoryClient 類訪問的托管服務開源 &#xff1a;以 Memory 類為中心的自托管組件&#xff0c;具有可插拔提供程序 此架構…

[Java]PTA:jmu-Java-01入門-取數字浮點數

本題目要求讀入若干以回車結束的字符串表示的整數或者浮點數&#xff0c;然后將每個數中的所有數字全部加總求和。輸入格式:每行一個整數或者浮點數。保證在浮點數范圍內。輸出格式:整數或者浮點數中的數字之和。題目保證和在整型范圍內。輸入樣例:-123.01 234輸出樣例:7 9代碼…

FFmpeg音視頻處理解決方案

核心組件&#xff1a; ffmpeg&#xff1a;主要的命令行工具&#xff0c;用于轉碼、轉換格式等 ffprobe&#xff1a;用于分析多媒體文件信息的工具 ffplay&#xff1a;簡單的媒體播放器 主要功能&#xff1a; ? 格式轉換&#xff08;轉碼&#xff09; ? 視頻裁剪、合并 ? 調整…

機器學習回顧——決策樹詳解

決策樹基礎概念與應用詳解1. 決策樹基礎概念1.1 什么是決策樹決策樹是一種樹形結構的預測模型&#xff0c;其核心思想是通過一系列規則對數據進行遞歸劃分。它模擬人類決策過程&#xff0c;廣泛應用于分類和回歸任務。具體結構包括&#xff1a;內部節點&#xff1a;表示對某個特…

Linux開發必備:yum/vim/gcc/make全攻略

目錄 1.學習yum、apt?具&#xff0c;進?軟件安裝 1-1 什么是軟件包 1-2 yum/apt具體操作 2. 編輯器Vim 2-1 Linux編輯器-vim的引入 2-2 vim的基本概念 2-3 vim的基本操作 2-4 vim正常模式命令集 2-5 vim末?模式命令集 3. 編譯器gcc/g 3-1 背景知識 3-2 gcc編譯選…

【Linux系統】萬字解析,進程間的信號

前言&#xff1a; 上文我們講到了&#xff0c;進程間通信的命名管道與共享內存&#xff1a;【Linux系統】命名管道與共享內存-CSDN博客?????? 本文我們來講一講&#xff0c;進程的信號問題 點個關注&#xff01; 信號概念 信號是OS發送給進程的異步機制&#xff01;所謂異…

AI時代SEO關鍵詞實戰解析

內容概要 隨著人工智能技術深度融入搜索引擎的運行機制&#xff0c;傳統的SEO關鍵詞研究方法正經歷著根本性的變革。本文聚焦于AI時代背景下&#xff0c;如何利用智能化的策略精準定位目標用戶&#xff0c;實現搜索可見度的實質性躍升。我們將深入探討AI技術如何革新關鍵詞研究…

Spring Boot + Spring MVC 項目結構

下面一個既能返回 JSP 頁面&#xff0c;又能提供 JSON API 的 Spring Boot Spring MVC 項目結構&#xff0c;這樣你就能同時用到 Controller 和 RestController 的優勢。 &#x1f3d7; 項目結構 springboot-mvc-mixed/ ├── src/main/java/com/example/demo/ │ ├── …

通俗易懂的講解下Ceph的存儲原理

Ceph存儲原理解析 要理解 Ceph 的存儲原理&#xff0c;我們可以用一個 “分布式倉庫” 的比喻來拆解 —— 把 Ceph 想象成一個由多個 “倉庫管理員”&#xff08;硬件節點&#xff09;共同打理的大型倉庫&#xff0c;能高效存儲、管理海量貨物&#xff08;數據&#xff09;&…

軟件測試小結(1)

一、什么是測試&#xff1f;1.1 生活中常見的測試例如去商場買衣服&#xff1a;①、選擇一件符合審美的衣服 -> 外觀測試&#xff1b;②、穿上身上試試是否合身 -> 試穿測試&#xff1b;③、 看看衣服的材料是否純棉 -> 材料測試&#xff1b;④、 詢問衣服的價格 ->…

Python未來3-5年技術發展趨勢分析:從AI到Web的全方位演進

Python作為全球最流行的編程語言之一&#xff0c;在開發者社區中占據核心地位。其簡潔語法、豐富庫生態和跨領域適用性&#xff0c;使其在AI、Web開發、數據科學等領域持續領先。本文基于當前技術演進趨勢&#xff08;如2023-2024年的開源項目、社區討論和行業報告&#xff09;…

【ComfyUI】SDXL Turbo一步完成高速高效的圖像生成

今天演示的案例是一個基于 ComfyUI 與 Stable Diffusion XL Turbo 的圖生圖工作流。整體流程通過加載輕量化的 Turbo 版本模型&#xff0c;在文本編碼與調度器的配合下&#xff0c;以極快的推理速度完成從提示詞到高質量圖像的生成。 配合演示圖可以直觀感受到&#xff0c;簡潔…

基于 GPT-OSS 的在線編程課 AI 助教追問式對話 API 開發全記錄

本文記錄了如何在 3 天內使用 GPT-OSS 開源權重搭建一個 在線編程課 AI 助教追問式對話 API&#xff0c;從需求分析、數據準備到微調與部署全流程實戰。 1?? 需求與指標 回答準確率 ≥ 95%響應延遲 < 1 秒支持多學生并發提問 2?? 數據準備 收集課程問答對清理無效數據…