Java基礎07 建構函式與this

2021-06-05 10:44:46 字數 2427 閱讀 6891

一.建構函式-constructor

1.建構函式

a.函式名和類名相同

b.沒有返回值型別 (注意: 區別於void!)

c.new關鍵字建立物件時自動呼叫

注意:

a.建構函式可以過載;

b.可以定義與類名相同的方法.

2.什麼時候使用建構函式

當我們想在建立物件的時候就執行一段**, 就可以把這段**放在建構函式中

例如對成員變數的賦值, 定義建構函式, 接收引數, 在執行建構函式的時候, 就可以對成員變數賦值了

3.建構函式的呼叫

a.當new關鍵字建立物件的時候呼叫

b.在其他建構函式的第一條語句中使用this()形式呼叫

4.自動生成建構函式

乙個類如果沒寫任何建構函式, 那麼會自動生成乙個. 這個自動生成的建構函式沒有引數, 也沒有任何**.

注意:

如果寫了乙個有參的建構函式, 就不會自動生成無參的了.

5.建構函式的訪問許可權

通常情況下都是public的, 在別的類中可以建立該類物件

某些特殊情況下我們定義了乙個類, 不希望別人建立物件, 那麼就可以用private修飾建構函式.

二.區域性變數和成員變數

1.區域性變數:

localvariable, 方法中定義的變數.

2.成員變數:

field, 類中定義的變數

3.重名問題:

區域性變數可以和成員變數同名.

但是區域性變數不能和區域性變數同名. 成員變數不能和成員變數同名

4.訪問問題:

在方法中直接以乙個變數名形式訪問的時候, 會先找區域性變數, 再找成員變數.

如果存在區域性變數, 直接訪問區域性的, 如果沒有區域性的才找成員的, 如果成員的也沒有, 才會報錯.

使用"this.變數名"形式訪問乙個變數, 可以直接找到成員變數

三.this關鍵字

1.建構函式中

可以使用"this(引數)"形式呼叫其它建構函式

2.普通函式中

this代表呼叫當前函式的物件

通常在set方法和建構函式中都會使用, 當區域性變數和成員變數同名時訪問成員變數

3.內部類中

訪問外部類的成員時,使用"外部類名.this.成員名"進行訪問

四.函式的引數傳遞

1.基本資料型別

基本資料型別的資料由於是儲存在棧記憶體中的, 傳入函式中函式中的變數是乙個新的值, 函式中改變呼叫處不變.

2.引用資料型別

引用資料型別的資料是儲存在堆記憶體中的, 變數記住的是位址, 在呼叫函式時函式中傳入的也是位址, 兩邊指向同乙個物件, 一邊改變兩邊都變.

五.**塊

1.什麼是**塊

a.在類中用"{}"可以定義乙個**塊

b.**塊在建立物件的時候執行

2.**塊和成員變數賦值的順序

乙個類中如果定義了成員變數, 在建立物件的時候就會初始化, 這個預設的初始化是在**塊之前做的. 基本資料型別等於0, 引用資料型別等於null.

如果**中對成員變數賦了值, 也定義了**塊, 這兩部分的順序是按照定義的先後而決定的

如果**塊寫在了賦值的前面, 那麼是先初始化, 再**塊, 再賦值

如果**塊解除安裝了賦值的後面, 那麼是先初始化, 再賦值, 再**塊 

六.static關鍵字

1.static用於修飾類的成員:

靜態變數

靜態方法

靜態**塊

靜態內部類

2.靜態變數

a.類載入後就初始化

b.所有物件共享

c.可以用"類名.變數名"訪問

七.思考題

海灘上有一堆桃子, 有五隻猴子來分.

第一只猴子發現了桃子, 將桃子分成了5份, 發現多了1個, 吃了. 拿走了乙份.

第二隻猴子也來到海灘發現了桃子, 也是將桃子分成5份, 發現多了1個, 吃了. 又是拿走乙份.

五隻猴子都是這麼做的. 問: 海灘上最初有多少個桃子? 

public static void sum()

system.out.println(count);

total++;} }

JAVA基礎 建構函式與函式過載

簡單粗暴的解釋 1 建構函式 必須與該類名稱相同!屬於new建立就會開始的操作。不設定時,系統會預設建立空的建構函式。2 函式過載 僅僅只有引數不同而已,其它都一樣。因為定義為乙個相同的函式名後功能效果大同小異。例項應用 package liyawen class person 類名和建構函式要一致...

Java基礎筆記07

07.01 物件導向 構造方法概述和格式 b 構造方法格式特點 07.02 物件導向 構造方法的過載及注意事項 b 構造方法注意事項 c 給成員變數賦值的兩種方式 07.03 物件導向 成員方法的分類及使用 b 根據形式引數 b 案例演示 07.04 物件導向 乙個標準學生類的 及測試 構造方法 成...

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的...