kotlin 之類的封裝與函數

編程語言 Kotlin Java 技術 奇點Android 2017-05-25

1,

構造方法,在第一行

2,

//方法體 尾隨構造方法之後

3,

//執行構造方法之後 系統調用的方法 做一些初始化操作

No1例子:

kotlin 之類的封裝與函數

構造方法以及初始化,注意基本數據類型Int Long 首字母大寫,與java不同

提問與分析:

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;

否則:

kotlin 之類的封裝與函數

:類型 +?可以為空的對象

你們會說,what? 那麼亂 那後面的“=”又是毛啊??不用著急 ,這樣就差後面的“=”了等大家都熟悉了會發現比java的確好多了。後面的等於是默認值,就是如果你不傳值就是默認為231,有利於方法重載,當然你可以傳null;

No2次級構造函數:

如果存在多種構造方法的話,那麼需要添加

constructor

關鍵字.

一個類當然會有多個構造函數的可能,只有主構造函數可以寫在類頭中,其他的次級構造函數(Secondary Constructors)就需要寫在類體中了。

大家可能會這麼寫:

kotlin 之類的封裝與函數

what?出錯?咋回事?寫的沒錯啊

解析:由於次級構造函數不能直接將參數轉換為字段,這裡我們讓次級構造函數調用了主構造函數,完成賦值,如果主構造方法沒有的,那麼我們要聲明在成員變量,

小細節注意:如果主構造方法已經有的參數,不需要再次定義,可以直接拿來使用;次級構造函數聲明數據類型但不可以定義 “var”,,只可以調用主構造來初始化變量。

kotlin 之類的封裝與函數

:this是調用主構造方法

:this是調用主構造方法來初始化;

解析:次級構造sas,如果需要使用 有2種選擇 一個調用主構造方法。2自己定義成員變量來使用

問:次級構造必須調用主構造來初始化嗎?

下面給出答案:

下面給出最容易入門常犯的錯誤:

kotlin 之類的封裝與函數

陷入了死循環,並不是參數問題

kotlin 之類的封裝與函數

主構造一定要被調用,否則報錯

次級構造必須調用主構造來初始化嗎?答案是對的;

好了今天就到這裡了,大家都已經會寫類了,每天學習一點點,如果我寫太多你們也只是看看,並不會記住,難道不是麼,大家明天見

相關推薦

推薦中...