Java筆記 變數 構造器

2021-08-27 12:39:42 字數 1558 閱讀 2698

本篇筆記主要是成員變數、區域性變數、構造器

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

1)成員變數:類範圍內定義的變數

成員變數有(1)類field(有static修飾的),從這個類的準備階段開始存在到這個類被完全銷毀

訪問方式:類.類field    或    例項.類field

(2)例項filed(沒有static修飾的),從這個類的例項被建立開始存在,到這個例項被完全銷毀

訪問方式例項.例項field

如果通過例項.類field的方式來修改類field的值,那麼其它例項來訪問這個類field時也將獲得這個被修改過的值。

eg:

package

cn.it.lsl;

class

person

public

class

persontest

}

2)區域性變數:方法裡定義的變數

區域性變數可以分為:形參,方法區域性變數,**塊區域性變數

在區域性變數中,除了形參外,必須給方法布局變數和**塊區域性變數指定初始化引數。

在方法裡面,區域性變數和成員變數可以同名,這樣會導致區域性變數覆蓋成員變數,如果需要在方法裡面呼叫被覆蓋的成員變數,則可以使用this(例項field)或類名(類field)來作為呼叫者。

eg:

package

cn.it.lsl;

public

class

variable

}

3)成員變數記憶體圖

4)區域性變數定義後,系統並未為這個變數分配記憶體塊,直到等到程式為這個變數賦值的時候,系統才為區域性變數分配記憶體空間。因為區域性變數不屬於任何類或者例項,所以它是被儲存在方法的棧記憶體中的。

2.構造器

1)構造器用於在建立物件的時候進行初始化。如果程式中沒有顯示的提供任何構造器,那麼系統會為該類提供乙個預設的無參構造。

2)當程式中顯示的提供了自定義的構造器了,那麼系統就不會提供預設的構造器了。構造器可以過載,乙個類中,有多個構造器,構造器的引數列表不同,就是構造器的過載。

3)如系統中有多個構造器,系統通過new關鍵字呼叫構造器時,系統將根據傳入的實參列表來決定呼叫哪個構造器。

4)如果乙個構造器執行體完全包含了另乙個構造器執行體,可以通過this來呼叫相應的構造器。

使用this呼叫另乙個構造器只能在構造器中使用,而且必須在構造器內第一條語句。系統會根據this後面引數列表來呼叫對應構造器。

package

cn.it.lsl;

public

class

constructor

public constructor(string name, int

age)

public constructor(string name, int

age, string school)

public

static

void

main(string args)

}

java構造器 筆記

基類的構造器總是在匯出類的構造過程中被呼叫,而且按照繼承層次逐層向上鏈結,使每個基類構造器得到呼叫。這樣做是有意義的,因為 構造器具有一項特殊任務 檢查物件是否被正確地構造 匯出類只能訪問它自己的成員,不能訪問基類中的成員 基類成員通常是private型別 只有基類構造器才有恰當的權利來對自己的成員...

Java的構造器

我們宣告物件賦值是這樣的 dog mydog new dog 看上去是在呼叫dog這個方法 其實我們是在呼叫dog的建構函式 建構函式並不是方法,它帶有new的時候會執行的程式 這段程式 會在你初始乙個物件時候執行 唯一能呼叫建構函式的辦法就是新建乙個類 無參建構函式 public dog 看到它與...

java類 構造器

類的第三個成員構造器 constructor 構造器的作用 1.建立物件 設計類時,若不顯示宣告型別的構造器話,程式會預設提供乙個空參的構造器。一旦定義類的構造器,預設的構造器就不再提供。如何宣告類的構造器。格式 許可權修飾符 類名 形參 類的多個構造器之間 構成過載 public class te...