屬性(成員變數) vs 區域性變數

2022-09-19 10:33:10 字數 675 閱讀 3612

屬性(成員變數) vs 區域性變數

1.相同點

1.1 定義變數的格式:資料型別 變數名 = 變數值

1.2 先宣告,後使用

1.3 變數都有其對應的作用域

2.不同點

2.1 在類中宣告的位置不同

屬性:直接定義在類的一對{}內

區域性變數:宣告在方法內、方法形參、**塊內、構造器形參、構造器內部的變數

2.2 關於許可權修飾符的不同

屬性:可以在宣告屬性時,指明其許可權,使用許可權修飾符

常用的許可權修飾符:private,public,預設,protected -->封裝性

區域性變數:不可以使用許可權修飾符

2.3 預設初始化值的情況

屬性:類的屬性,根據其型別,都有預設初始化值

整型(byte,short,int,long):0

浮點型(float,double):0.0

字元型(char):0

布林型(boolean):false

引用資料型別(類,陣列,介面):null

區域性變數:沒有預設初始化值

意味著,我們在呼叫區域性變數之前,一定要顯式賦值

特別的,形參在呼叫時,我們賦值即可。

2.4 在記憶體中載入的位置:

屬性:載入到堆空間中(非static)

區域性變數:載入到棧空間

成員變數 區域性變數

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...

成員變數 區域性變數

一.相同點 1.都遵循變數的宣告格式 修飾符 資料型別 變數名 初始化值 2.都有各自的作用域 二.不同點 1.宣告的位置不同 成員變數 宣告在類內,方法外。區域性變數 宣告在方法內 方法的形參部分 塊內 2.成員變數的修飾符有四個 public private protected 預設 區域性變數...

OC類得成員變數,屬性變數,區域性變數

區域性變數 區域性變數定義在方法裡。屬性變數 strong 指明此屬性跟目標物件有著緊密的 擁有 關係。weak 指明與目標物件是鬆散的 非擁有 關係。假如目標物件被釋放了,屬性值將自動被設為nil.os x v10.6 和 ios 4不支援弱屬性 取而代之的是assign.copy 指明物件的副本...