国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Kotlin是如何做的 之單例

2019-11-08 18:40:23
字體:
來源:轉載
供稿:網友

kotlin引入了比較多的特性, 特性多其實并不代表就是好的, 我們在用的時候需要了解它究竟是如何實現的. 以object declaration定義單例為例.

在Singleton.kt文件中定義一個單例Singleton, 以及一個main方法

//Singleton.ktobject Singleton {}fun main(args: Array<String>) { PRintln(Singleton)}

編譯成字節碼以后, 使用jd-gui(下載)查看, 發現被編譯成兩個class文件. Singleton.class和SingletonKt.class, 內容分別如下.

//Singleton.classpublic final class Singleton{ public static final Singleton INSTANCE; //類的加載最后一步是初始化,即對類的靜態變量和靜態代碼塊執行初始化工作, 這里的靜態代碼塊獲取一個Singleton()對象, 并賦值給INSTANCE靜態變量 static { new Singleton(); } private Singleton() { INSTANCE = (Singleton)this; }}//SingletonKt.classpublic final class SingletonKt{ public static final void main(@NotNull String[] args) { Intrinsics.checkParameterIsNotNull(args, "args"); Singleton localSingleton = Singleton.INSTANCE; System.out.println(localSingleton); }}

可以看出Kotlin實現單例, 和我們平時利用JVM加載類時保證類只初始化一次來生成單例是一樣的.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇仁县| 南陵县| 思茅市| 砀山县| 洞头县| 安丘市| 洪洞县| 育儿| 泾川县| 宝应县| 满城县| 吉安市| 水城县| 行唐县| 涪陵区| 砀山县| 唐山市| 邢台市| 多伦县| 永和县| 青海省| 浪卡子县| 温宿县| 洛扎县| 西贡区| 汤阴县| 高阳县| 双牌县| 连云港市| 甘洛县| 叙永县| 毕节市| 淮滨县| 台山市| 宁明县| 成武县| 云南省| 洱源县| 仁怀市| 富平县| 策勒县|