我們對於一條簡單的**做一下分析:
p = new person(),到底發生了什麼。首先我們先來搞乙個簡單的模型:
記憶體:記憶體中有棧空間和堆空間,當我們new了乙個物件出來的時候,其實就是在堆中開闢了一片空間。來存放這個物件以及其中的方法屬性等。
那麼什麼是構造方法呢:
在類中 如果沒有返回型別,並且方法名和類名相同,那麼這個方法就稱為構造方法。
比如下面這個類
public
class
person
public
void
eat(
)}
那麼構造方法又能幹什麼呢?
構造方法可以用來初始化:
new person();實際上就是呼叫了構造方法建立物件。
而且還要注意一點,在沒有宣告構造方法的時候,類缺省會有乙個無參的構造方法,當宣告了帶參的構造方法後,預設的無參構造方法會被覆蓋。
預設的無參構造方法會對沒有賦值的變數賦初值,string等會被賦值為null,數字會被賦值為0,boolean會被賦值為false,char會被賦值為』 '(空格),this代表當前物件。
物件導向 構造方法
又稱構造器,是乙個特殊的方法,它是方法名與類名相同且沒有返回值型別的方法。作用 用來給成員變數初始化定義語法 修飾詞 類名 有參傳參 無參構造器 如果在定義類時,沒有新增構造方法,系統會預設提供乙個公有的無參的構造方法 有參構造器 因為構造器是用來給成員變數初始化的,為了方便,所以形式引數的名稱都與...
物件導向 構造方法
構造方法會在類被例項化的時候執行,oc中的構造方法名為init 重寫init方法必須按照蘋果規定的格式重寫,如果不按照規定會引發一些未知錯誤 注意點 import inte ce person nsobject property int age end implementation person 當...
物件導向 構造方法
給物件的資料進行初始化 a 方法名與類名相同 b 沒有返回值型別,連void都沒有 c 沒有具體的返回值 a 如果我們沒有給出構造方法,系統將自動提供乙個無參構造方法。b 如果我們給出了構造方法,系統將不再提供預設的無參構造方法。注意 這個時候,如果我們還想使用無參構造方法,就必須自己給出。建議永遠...