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!")
    }
}
相关推荐
csdn_zhangchunfeng11 分钟前
Qt之slots和Q_SLOTS的区别
开发语言·qt
计算机安禾12 分钟前
【C语言程序设计】第35篇:文件的打开、关闭与读写操作
c语言·开发语言·c++·vscode·算法·visual studio code·visual studio
kishu_iOS&AI25 分钟前
Python - 链表浅析
开发语言·python·链表
m0_7336122134 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
luffy54591 小时前
Rust语言入门-变量篇
开发语言·后端·rust
2301_807367191 小时前
C++中的模板方法模式
开发语言·c++·算法
weixin_537590451 小时前
《C程序语言设计》练习答案(练习1-3)
c语言·开发语言
m0_459252461 小时前
fastadmin动态渲染统计信息
开发语言·前端·javascript·php
傻啦嘿哟2 小时前
Python 操作 Excel 条件格式指南
开发语言·python·excel
逆境不可逃2 小时前
LeetCode 热题 100 之 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
java·开发语言·数据结构·算法·leetcode·职场和发展