這周了解一部分物件導向的知識。
物件導向的本質:
以類的方式組織**,以物件的方式組織資料。
物件導向的思維:
ooa(object-oriented analysis 物件導向分析方法 )
ood(object-oriented design 物件導向設計)
類與物件:
物件是以類為模板的,乙個類可以抽象出很多物件。
物件:是具體的事物。(new 後面是物件)。
類:是對物件的抽象。(class 後面是類)。類是由屬性和方法構成。
記憶體機制:
例項變數系統可自動初始化,區域性變數必須由開發者自己初始化。
棧:自動分配連續的空間,後進先出。放置區域性變數。
堆:自動分配不連續的空間。放置建立(new)出的物件。
方法區:位於堆中,是堆的一部分。放置類的資訊(**),static變數,常量池(字串常量等)。
常量池有共享的功能。
構造方法:
方法名必須與類名一致。
如果我們沒有定義構造方法,系統則會自動定義乙個無參的建構函式。如果已定義則編譯器不會自動定義。
作用:構造類的物件,經常也用來初始化物件的屬性。
方法過載:
指乙個類中可以定義有相同的名字,但引數不同的多個方法。呼叫時,會根據不同的參數列選擇對應的方法。
過載:同乙個類,同乙個方法名。引數列表不同(型別,個數,順序不同)
構造方法也可以過載。
static關鍵字:
在類中,用static宣告的成員變數為靜態變數,或者叫類屬性,類變數。
在類方法中,只能呼叫類變數和類方法。
static變數與成員變數:
static變數(從屬於類),在方法區放置。
成員變數(從屬於物件),在堆中放置。
類只能呼叫類的,物件可以呼叫自己的也可以呼叫類的。
java(3) 物件導向
1.super關鍵字 使用super關鍵字呼叫父類的成員變數和成員方法。具體格式 super.成員變數 super.成員方法 引數1,引數2.使用super關鍵字呼叫父類的構造方法。具體格式 super 引數1,引數2.通過super呼叫父類構造方法的 必須位於子類構造方法的第一行,並且只能出現一次...
小伙的java之旅 GOF23 單例模式
核心作用 保證乙個類只有乙個例項,並且提供乙個訪問該例項的全域性訪問點。餓漢式 單利模式 餓漢式載入 餓漢單例模式 中,static變數會在類裝載時初始化,此時也不會涉及多個執行緒物件訪問物件的問題。虛擬機器保證只會裝載一次該類,肯定不會發生併發訪問的問題。因此,可以省略synchronized關鍵...
物件導向學習之旅(2)
類的建構函式和析構函式,有什麼關係,分別是如何使用的?建構函式和析構函式 是類中比較特殊的兩種成員函式,主要用來對物件進行初始化和 物件資源。一般來說,物件的生命週期從建構函式開始,以析構函式結束。類中方法的過載和方法重寫,有什麼關係,分別是如何使用的?重寫 執行時。過載 編譯時 方法的重寫 1.父...