java的基礎知識(2)

2021-07-22 16:53:34 字數 1274 閱讀 9419

類和物件

成員變數和區域性變數的區別

1、作用範圍:成員變數作用在整個類內,區域性變數作用在函式中,或者語句中

2、在記憶體中的位置:成員變數在堆記憶體中,因為物件的存在而存在

區域性變數存在於棧記憶體中

3、成員變數有預設初始化值0,不賦值即可參與運算

封裝:是隱藏物件的屬性和實現細節,僅對外提供公共的訪問方式

好處:將變化隔離、便於使用,提高安全性(在set和get方法中可以加入判斷語句,看設定值是否合法

建構函式:特點:1、函式名與類名相同

2、不用定義返回值型別

3、不可以寫return語句

作用:給物件初始化(某些物件一出現就具備一些特性)

當乙個類中沒有定義建構函式時,那麼系統會自動加乙個空引數的建構函式

當類中自定義的建構函式,預設的建構函式就會被覆蓋

構造**塊:

{}作用:給物件進行初始化,物件一建立就執行,優先於建構函式執行

和建構函式的區別

構造**塊是給所有物件統一初始化,而建構函式是給對應的物件初始化

靜態關鍵字static

被靜態修飾後,不僅可以被物件呼叫,還可以被類名呼叫

存在於方法區(資料區、共享區),除了共享資料外,還有類中的方法

靜態**塊:

static{}

特點:隨著類的載入而執行,只執行一次,用於給類進行初始化,並優先於主函式

物件初始化過程:

person p=new person(「lisi」,2);

執行過程:

1、因為new用到了。class所以會先找到。class檔案載入到記憶體中

2、☆執行該類中的static{}**塊,給。class檔案進行初始化

3、在堆記憶體中開闢位址空間,分配記憶體位址

4、在堆記憶體中建立物件特有的屬性,並進行預設初始化

5、對屬性進行顯式初始化

6、☆對物件進行構造**塊初始化{}

7、☆對物件進行對應的建構函式初始化

8、將記憶體位址賦給棧記憶體中p變數

this關鍵字:

1、this關鍵字可以在建構函式中區分區域性變數和成員變數

this為什麼可以解決這個問題?

this代表本類物件,代表它所在函式-所屬物件的引用

2、比如:定義乙個功能,比較年齡是否同

public boolean compare(person p)

即:當定義類中功能時,該函式內部要用到呼叫該函式物件時,這是用this來表示這個物件

3、this關鍵字在建構函式間的呼叫,寫在第一行

java基礎知識回顧(2)

一 switch後的小括號裡只能使用6種資料型別 byte short int char 列舉 字串。二 基本型別的值直接存在棧記憶體中,而陣列等引用型別的值存在堆記憶體中,棧記憶體只放陣列的位址。三 方法過載必須滿足三種情況 1 方法的名稱必須相同。2 方法的引數必須不同,這裡的不同分三種情況 a...

Java基礎知識整理2

1.public string trim 乙個字串s通過呼叫方法trim 得到乙個字串物件,該字串物件是s去掉前後空格後的字串 2.public string substring int start,int end 字串物件呼叫該方法獲得乙個當前字串的子串,該子串是從當前字串的start處擷取到en...

java的基礎知識回顧 2

運算子 運算子的優先順序 括號優先順序最大 與 1 1 1 2 3 010 011 010 2 或 0 0 0 ture true true true true 表示短路與 當第乙個條件為false的時候,第二個條件就不用判斷 表示與位運算 表示短路或 當第乙個條件為true時候,第二個條件就不用判...