本篇筆記主要是成員變數、區域性變數、構造器
1.成員變數和區域性變數
1)成員變數:類範圍內定義的變數
成員變數有(1)類field(有static修飾的),從這個類的準備階段開始存在到這個類被完全銷毀
訪問方式:類.類field 或 例項.類field
(2)例項filed(沒有static修飾的),從這個類的例項被建立開始存在,到這個例項被完全銷毀
訪問方式例項.例項field
如果通過例項.類field的方式來修改類field的值,那麼其它例項來訪問這個類field時也將獲得這個被修改過的值。
eg:
package2)區域性變數:方法裡定義的變數cn.it.lsl;
class
person
public
class
persontest
}
區域性變數可以分為:形參,方法區域性變數,**塊區域性變數
在區域性變數中,除了形參外,必須給方法布局變數和**塊區域性變數指定初始化引數。
在方法裡面,區域性變數和成員變數可以同名,這樣會導致區域性變數覆蓋成員變數,如果需要在方法裡面呼叫被覆蓋的成員變數,則可以使用this(例項field)或類名(類field)來作為呼叫者。
eg:
package3)成員變數記憶體圖cn.it.lsl;
public
class
variable
}
4)區域性變數定義後,系統並未為這個變數分配記憶體塊,直到等到程式為這個變數賦值的時候,系統才為區域性變數分配記憶體空間。因為區域性變數不屬於任何類或者例項,所以它是被儲存在方法的棧記憶體中的。
2.構造器
1)構造器用於在建立物件的時候進行初始化。如果程式中沒有顯示的提供任何構造器,那麼系統會為該類提供乙個預設的無參構造。
2)當程式中顯示的提供了自定義的構造器了,那麼系統就不會提供預設的構造器了。構造器可以過載,乙個類中,有多個構造器,構造器的引數列表不同,就是構造器的過載。
3)如系統中有多個構造器,系統通過new關鍵字呼叫構造器時,系統將根據傳入的實參列表來決定呼叫哪個構造器。
4)如果乙個構造器執行體完全包含了另乙個構造器執行體,可以通過this來呼叫相應的構造器。
使用this呼叫另乙個構造器只能在構造器中使用,而且必須在構造器內第一條語句。系統會根據this後面引數列表來呼叫對應構造器。
packagecn.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...