Java基礎知識總結(超詳細整理)

一:概述

????????1.1Java類及類的成員

????????????????屬性、方法、構造器、代碼塊、內部類

? ? ? ? ? (1)數組

????????????????????????java虛擬機內存劃分

????????????????????????????????

????????????????????????各區域作用

????????????????????????????????

????????????????????????內存解析

????????????????????????????????

????????????????????????基本使用

??????????????????????????????????

????????????????????????????????兩個變量指向一個一維數組

????????????????????????????????????????沒有new就不會在堆里新開辟空間

???????????????????????????????????????????????????? ?

?

????????????????(2)對象數組

????????????????????????????????

????????????????(3)方法

????????????????????????形參:方法聲明時,一對小括號聲明的一個或多個形式參數,簡稱形參

????????????????????????實參:方法被調用時,實際傳遞給形參的變量或常量,就稱為實際參數,簡稱實參

????????????????????????????????

????????????????????????值傳遞機制場景

????????????????????????????????方法內聲明的局部變量 ????

????????????????????????????????基本數據類型傳遞的是數據值 ??????????

????????????????????????????????????????

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 引用類型傳遞的是地址值

???????????????????????????????????????????

???????????????????????????????形參與實參

??????????????????????????????????????? ?? ??

二:面向對象基礎

????????2.1面向對象的特征

????????????????封裝、繼承、多態(抽象)

????????2.2其它關鍵字的使用

????????????????This、super、package、import、static、final、interface、abstract

????????2.3面向對象和面向過程

? ? ? ? ? ? ? ? (1)面向過程

????????????????????????????????

? ? ? ? ? ? ? ? (2)面向對象

????????????????????????先找實現事情涉及到的主體(類)、后看類完成任務需要具備什么功能(方法)

????????????????????????????????

????????2.4類和對象

????????????????????????

? ? ? ? ? ? ? ? (1)類的聲明和使用

????????????????????????類的設計:設計類的成員,類的設計是為了實例化對象,調用類的屬性和方法

????????????????????????????????????????

????????????????(2)類的實例化

????????????????????????創建對象,是為了調用屬性的類和方法。對象的實例化是對獲取到類的屬性和方法賦值

? ? ? ? ? ? ? ? ? ? ? ? ?

????????????????(3)對象在內存中分配涉及到的內存結構

????????????????????????剛創建對象時存在默認值

????????????????????????創建對象即開辟了空間,而變量是獲取到了空間的首地址

????????????????????????兩個變量指向的是同一個對象

?????????????????????????????????

????????????????(4)通過方法調用對象

????????????????????????每調用一個方法,相當于一個新的棧針

????????????????????????引用類型變量其實都是地址

????????????????????????返回值返回給調用者,返回給對象沒有用,因為對象是棧針

????????????????????????main函數結束后,對應指針出棧,p1沒了,堆內p1對應空間無指針指向,后期垃圾回收器將堆回收

? ? ? ? ? ? ? ? ? ? ?????????? ?

三:面向對象三大特征

????????3.1 封裝

????????????????(1)權限修飾符

????????????????????????????????

? ? ? ? ????????(2)構造器

????????????????????????每個類都有構造器,包括抽象類(不能造對象)

????????????????????????聲明

????????????????????????????????權限修飾符 類名(新參列表){}

????????????????????????????????????????

????????????????????????作用

????????????????????????????????

????????????????????????使用說明

????????????????????????????????

? ? ? ? ????????(3)實例變量賦值過程

????????????????????????分類

????????????????????????????????

????????????????????????執行順序判斷:根據打印值是否覆蓋判斷

????????????????????????????????? ?

???????????????????????執行先后順序 執行次數

??????????????????????????????????

? ? ? ? ? ? ? ? ?(4)JavaBean

????????????????????????????????JavaBean是一種Java語言寫成的可重用組件

??????????????????????????????????

????????????????????????????????ideal技巧

????????????????????????????????Alt+inset:創建get、set方法

? ? ? ? ? ? ? ? ? ?(5)關鍵字this

????????????????????????????????使用場景

????????????????????????????????????????

????????????????????????????????概述

????????????????????????????????????????

????????????????????????????????調用屬性和方法

????????????????????????????????????????針對于方法內的使用情況(準確的說是非static1修飾的方法)

????????????????????????????????????????????????

????????????????????????????????????????構造器內使用情況

??????????????????????????????????????????????????

????????????????????????????????????????????????

????????????????????????????????????????this調用構造器

????????????????????????????????????????????????

????????????????????????????????????????This()調用當前空參構造器

????????????????????????????????????????????????

????????3.2 繼承

????????????????????????

? ? ? ? ? ? ? ? (1)場景

????????????????????????????????繼承不能打破封裝性(雖然繼承了但不能用)

????????????????????????????????

? ? ? ? ? ? ? ? (2)使用說明

????????????????????????????????

? ? ? ? ? ? ? ? (3)默認父類

????????????????????????????????

? ? ? ? ? ? ? ? (4)多層繼承

????????????????????????????????

? ? ? ? ? ? ? ? (5)方法重寫

????????????????????????????????定義

????????????????????????????????????????子類對父類繼承過來的方法進行的覆蓋、覆寫的操作,就稱為方法的重寫

????????????????????????????????????????

????????????????????????????????遵循規則

????????????????????????????????????????子類不能重寫父類中聲明為private權限修飾的方法

????????????????????????????????????????

? ? ? ? ? ? ? ? (6)super調用構造器

????????????????????????使用場景

????????????????????????????????

????????????????????????屬性不覆蓋

????????????????????????????????若子類中聲明了與父類同名屬性,子類中包含兩個同名屬性

????????????????????????????????????????

????????????????????????super調用屬性、方法

????????????????????????????????????????

????????????????????????super調用構造器

????????????????????????????????子類繼承父類時,不會繼承父類的構造器

????????????????????????????????在子類構造器首行 ?

????????????????????????????????????????

????????????????????????子類繼承父類時不繼承父類構造器,構造器只在同名類中有

????????????????????????子類構造器首行默認調用父類空參構造器

? ? ? ? ? ? ? ? (7)子類對象實例化

????????????????????????從結果來看,體現為類的繼承性

????????????????????????????????

????????????????????????從過程來看

????????????????????????????????

????????????????????????創建對象是new,構造器是用于初始化的

????????????????????????????????

????????3.3 多態

????????????????(1)定義

????????????????????????新建的對象必須為定義的變量類型的子類

??????????????????????????????????

?????????????????(2)使用前提

????????????????????????????????

????????????????(3)適用性

????????????????????????????????

?????????????????????????使用場景

????????????????????????????????

????????????????(4)好處

????????????????????????????????避免多次重載

????????????????????????????????新增子類時不用修改方法,對拓展進行開放,對修改進行關閉

????????????????????????????????? ??

????????????????(5)向下轉型

????????????????????????????????父類變量接受了子類對象后,不能調用子類擁有的特定方法

????????????????????????????????????????????????

????????????????(6)static

????????????????????????????????定義

????????????????????????????????實例變量是指每個對象都有自己的變量,被一個類所有實例所共享的成員變量叫類變量,不用創建對象也有

????????????????????????????????

????????????????????????????????使用

????????????????????????????????????????一個更改,其它人用的時候也是改變了的(在內存空間中只有一份)

????????????????????????????????static修飾方法

????????????????????????????????????????

? ? ? ? ? ? ? ? (7)單例設計模式

????????????????????????????????定義

????????????????????????????????????????

????????????????????????????????實現思路

????????????????????????????????????????

? ? ? ? ? ? ? ? (8)代碼塊

????????????????????????????????隨著類的加載而執行

????????????????????????????????? ??

????????????????????????????????案例使用

????????????????????????????????????????

? ? ? ? ? ? ? ? (9)Final

????????????????????????????????fina修飾類表示類不能被繼承,final修飾表示方法不能被重寫

????????????????????????????????final修飾的變量其實就變成了常量,意味著一旦賦值,就不可更改

????????????????????????????????????????

?????

? ? ? ? ? ? ??

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

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

相關文章

StarRocks Community Monthly Newsletter (Apr)

版本動態 3.4.3 版本更新 核心功能升級 Routine Load和Stream Load新增Lambda表達式支持,支持復雜的列數據提取 增強JSON數據處理能力,支持將JSON Array/Object轉為ARRAY/MAP類型 優化information_schema.task_runs視圖查詢,新增LIMIT支持…

探索AI新領域:生成式人工智能認證(GAI認證)助力職場發展

在數字化時代的大潮中,人工智能(AI)技術以其強大的影響力和廣泛的應用前景,正逐步重塑我們的生活與工作方式。隨著生成式AI技術的崛起,掌握這一前沿技能已成為職場競爭中的關鍵優勢。那么,如何通過系統的學…

數據庫觸發器Trigger

在數據庫管理系統中,觸發器(Trigger)是一種特殊的存儲過程,它在特定的事件發生時自動執行。觸發器通常用于維護數據的完整性和一致性。通過事件觸發而被執行,不能直接調用。 觸發器的三要素 觸發事件 before/after&a…

如何利用 Java 爬蟲獲得某書筆記詳情:實戰指南

在知識分享和學習的領域,許多平臺提供了豐富的書籍筆記和學習資源。通過 Java 爬蟲技術,我們可以高效地獲取這些筆記的詳細信息,以便進行進一步的分析和整理。本文將詳細介紹如何利用 Java 爬蟲獲取某書筆記詳情,并提供完整的代碼…

主成分分析的應用之sklearn.decomposition模塊的PCA函數

主成分分析的應用之sklearn.decomposition模塊的PCA函數 一、模型建立整體步驟 二、數據 2297.86 589.62 474.74 164.19 290.91 626.21 295.20 199.03 2262.19 571.69 461.25 185.90 337.83 604.78 354.66 198.96 2303.29 589.99 516.21 236.55 403.92 730.05 438.41 225.80 …

【Redis】List 列表

文章目錄 初識列表常用命令lpushlpushxlrangerpushrpushxlpop & rpoplindexlinsertllen阻塞操作 —— blpop & brpop 內部編碼應用場景 初識列表 列表類型,用于存儲多個字符串。在操作和實現上,類似 C 的雙端隊列,支持隨機訪問(O(N)…

Android framework 中間件開發(三)

前兩篇我們講了中間件的開發和打包應用, Android framework 中間件開發(一) Android framework 中間件開發(二) 這邊我們來講一下在中間件中編寫JNI 1.新建C文件 找到frameworks\base\services\core\jni\路徑,新建一個cpp文件,文件名為com_android_server_DarkControlService.c…

深入了解linux系統—— 基礎IO(上)

文件 在之前學習C語言文件操作時,我們了解過什么是文件,這里簡單回顧一下: 文件存在磁盤中,文件有分為程序文件、數據文件;二進制文件和文本文件等。 詳細描述見文章:文件操作——C語言 文件在磁盤里&a…

Flink CDC—實時數據集成框架

Flink CDC 是一個基于流的數據集成工具,旨在為用戶提供一套功能更加全面的編程接口(API),它基于數據庫日志的 CDC(變更數據捕獲)技術實現了統一的增量和全量數據讀取。 該工具使得用戶能夠以 YAML 配置文件…

ES(ES2023/ES14)最新更新內容,及如何減少內耗

截至2023年10月,JavaScript(ECMAScript)的最新版本是 ES2023(ES14)。 ES2023 引入了許多新特性,如findLast、toSorted等,同時優化了性能。通過減少全局變量、避免內存泄漏、優化循環、減少DOM操作、使用Web Workers、懶加載、緩存、高效數據結構和代碼壓縮,可以顯著降低…

常見的 Python 環境配置問題及解決方案

1. Python 環境配置的常見問題 初學者在配置 Python 環境時,可能會遇到以下幾類問題: 1.1 不同版本的兼容性 Python 目前有兩個主要版本系列:Python 2.x 和 Python 3.x。Python 2.x 已于 2020 年 1 月 1 日停止維護,因此強烈建…

day20-線性表(鏈表II)

一、調試器 1.1 gdb(調試器) 在程序指定位置停頓 1.1.1 一般調試 gcc直接編譯生成的是發布版(Release) gcc -g //-g調式版本,(體積大,內部有源碼)(DeBug&#…

基于Spring Boot+Layui構建企業級電子招投標系統實戰指南

一、引言:重塑招投標管理新范式 在數字經濟浪潮下,傳統招投標模式面臨效率低、透明度不足、流程冗長等痛點。本文將以Spring Boot技術生態為核心,融合Mybatis持久層框架、Redis高性能緩存及Layui前端解決方案,構建一個覆蓋招標代理…

uniapp -- uCharts 儀表盤刻度顯示 0.9999999 這樣的值問題處理。

文章目錄 ??問題??解決方案??問題 在儀表盤上,23.8變成了 23.799999999999997 ??解決方案 formatter格式化問題 1:在 config-ucharts.js 或 config-echarts.js 配置對應的 formatter 方法 formatter: {yAxisDemo1: function (

git 對于已經追蹤,但沒有git add 的文件,撤回修改的方法

要撤銷對已追蹤文件的修改&#xff08;但尚未使用git add添加到暫存區&#xff09;&#xff0c;你可以使用以下幾種方法&#xff1a; 1. 使用 git restore (Git 2.23.0及更高版本) 這是較新版本Git中推薦的方式&#xff1a; # 撤銷單個文件的修改git restore <file># …

腳本語言Lua

本文來源 &#xff1a;騰訊元寶 Lua是一種輕量級、可嵌入的腳本語言&#xff0c;由巴西里約熱內盧天主教大學的Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo于1993年開發。其設計目標是嵌入應用程序中&#xff0c;提供靈活的擴展和定制功能。 主要特性…

ThingsBoard使用Cassandra部署時性能優化

1、概述 當遇到ThingsBoard設備數量特別多的時候,并且傳輸數據遙測點量特別大的時候,我們需要調整一下參數來進行優化,使其性能達到最佳的進行快速寫入。 注意:以下這些參數再系統部署的時候就需要規劃好配置,不能安裝好了再二次來進行配置。 2、Cassandra配置參數優化 …

Git Worktree 使用

新入職了一家公司&#xff0c;發現不同項目用的使用一個 git 倉庫管理。不久之后我看到這篇文章。 Git 的設計部??分是為了支持實驗。一旦你確定你的工作被安全地跟蹤&#xff0c;并且存在安全的狀態&#xff0c;以便在出現嚴重錯誤時可以恢復&#xff0c;你就不會害怕嘗試新…

維智定位 Android 定位 SDK

概述 維智 Android 定位 SDK是為 Android 移動端應用提供的一套簡單易用的定位服務接口&#xff0c;為廣大開發者提供融合定位服務。通過使用維智定位SDK&#xff0c;開發者可以輕松為應用程序實現極速、智能、精準、高效的定位功能。 重要&#xff1a;為了進一步加強對最終用…

【CSS】使用 CSS 繪制三角形

一、Border 邊框法&#xff08;最常用&#xff09; 原理&#xff1a;通過設置元素的寬高為 0&#xff0c;利用透明邊框相交形成三角形。 .triangle {width: 0;height: 0;border-left: 50px solid transparent; /* 左側邊框透明 */border-right: 50px solid transparent; /* …