Kotlin单例类

什么是单例类?

单例类是在全局上只能创建一个实例的类,其可避免创建重复对象。

单例类实现

Java实现:

java 复制代码
public calss Singleton {

    private static Singleton instance;

    private Singleton() {}

    public synchronized static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }

    public void singletonTest() {
        System.out.println("The singleton instance has been created successfully!")
    }
}

/*synchronized关键字用于控制对代码块或方法的访问,
以确保在同一时间只有一个线程可以执行特定代码段。
这主要用于实现线程同步,
防止多个线程同时访问共享资源而导致的数据不一致问题。*/

Kotlin实现:

Kotlin 复制代码
object Singleton {}    //Kotlin中单例类的实现是全自动的,如此便已是一个单例类

object Singleton {
    fun singleTest() {
        println("The singleton instance has been created successfully!")
    }
}
相关推荐
不听话坏35 分钟前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi071 小时前
require 和 import的区别
开发语言·前端
远离UE41 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬1 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
KaMeidebaby2 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17683 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
Mininglamp_27183 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀3 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++
醉城夜风~3 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
qydz114 小时前
杰理开发基础知识(3)
开发语言·嵌入式开发·杰理科技