1,
構造方法,在第一行
2,
//方法體 尾隨構造方法之後
3,
//執行構造方法之後 系統調用的方法 做一些初始化操作
No1例子:
提問與分析:
1,問:
var long :Long ?= 231
是什麼東西?
分析與拆解:var long :Long?=231:
上節提到 :Long為類型 ———— :Student 為Student類型 ——————:Bean 為Bean類型。
那麼var long :Long 就是為Long類型的 long,小long在kotlin並不是關鍵字 。
var long :Long ? 就是定義了類型為Long對象long 可以為空 也就是null;
否則:
你們會說,what? 那麼亂 那後面的“=”又是毛啊??不用著急 ,這樣就差後面的“=”了等大家都熟悉了會發現比java的確好多了。後面的等於是默認值,就是如果你不傳值就是默認為231,有利於方法重載,當然你可以傳null;
No2次級構造函數:
如果存在多種構造方法的話,那麼需要添加
constructor
關鍵字.
一個類當然會有多個構造函數的可能,只有主構造函數可以寫在類頭中,其他的次級構造函數(Secondary Constructors)就需要寫在類體中了。
大家可能會這麼寫:
解析:由於次級構造函數不能直接將參數轉換為字段,這裡我們讓次級構造函數調用了主構造函數,完成賦值,如果主構造方法沒有的,那麼我們要聲明在成員變量,
小細節注意:如果主構造方法已經有的參數,不需要再次定義,可以直接拿來使用;次級構造函數聲明數據類型但不可以定義 “var”,,只可以調用主構造來初始化變量。
:this是調用主構造方法來初始化;
解析:次級構造sas,如果需要使用 有2種選擇 一個調用主構造方法。2自己定義成員變量來使用
問:次級構造必須調用主構造來初始化嗎?
下面給出答案:
下面給出最容易入門常犯的錯誤:
次級構造必須調用主構造來初始化嗎?答案是對的;
好了今天就到這裡了,大家都已經會寫類了,每天學習一點點,如果我寫太多你們也只是看看,並不會記住,難道不是麼,大家明天見