首页 > 其他分享 >kotlin 单例、静态方法、常量

kotlin 单例、静态方法、常量

时间:2022-11-30 17:45:55浏览次数:42  
标签:伴生 静态方法 String kotlin object 单例 var

一、object

使用 object 关键字定义一个单例类,通过单例类,去调用方法,这种方法也不叫静态方法,但是可以当作静态方法调用

/**
 * object
 * 天生单例
 * 1 并不用语法上面初始化
 * 2 不需要构造方法
 */
object Constants {
  //常量 const val tag: String = "ccc" var host: String = "127.0.0.1" private var port: String = "8080" //非静态方法,可当静态方法使用 fun doSomething(){ } }
Constants.doSomething()不是单例方法,可当单例方法使用

二、伴生对象

使用 companion object 为一个类创建一个伴生类,然后调用这个伴生类的方法,这个方法不叫静态方法,但是可以当作静态方法调用

class Dog(name: String, var age: Int) : Animal(), LoadingListener {

    /**
     * 伴生对象 static静态方法和静态变量
     */
    companion object {
        const val tag1: String = "aaa"
        private var tag2: String = "bbb"
        fun getName(): String {
            return tag2
        }
    }
}

Dog.getName()

真正的静态方法

1、使用 @JvmStatic 注解

2、顶层方法

标签:伴生,静态方法,String,kotlin,object,单例,var
From: https://www.cnblogs.com/suiyilaile/p/16939215.html

相关文章

  • 第10章 使用 Kotlin 创建 DSL
    第10章使用Kotlin创建DSL使用DSL的编程风格,可以让程序更加简单干净、直观简洁。当然,我们也可以创建自己的DSL。相对于传统的API,DSL更加富有表现力、更符合人类语言习......
  • 第3章 类型系统与可空类型 《Kotlin项目实战开发》
    跟Java、C和C++一样,Kotlin也是“静态类型编程语言”。通常,编程语言中的类型系统中定义了l 如何将数值和表达式归为不同的类型l 如何操作这些类型l 这些类型之间如......
  • 《Kotlin 程序设计》第七章 Kotlin 编译过程分析
    第七章Kotlin编译过程分析​​http://mp.weixin.qq.com/s/lEFRH523W7aNWUO1QE6ULQ​​我们知道,Kotlin基于Java虚拟机(JVM),通过Kotlin编译器生成的JVM字节码与Java编译的字节......
  • 单例模式
    1.单例模式简介  (1)多线程模式下,共享同一个资源或者操作同一个资源,单例模式保证一个类只生成唯一的一个对象      例如:多个线程使用同一个socket资源;配置......
  • Object的静态方法
    Object的静态方法<body><script>letobj={name:"lw",age:6,sex:"未知",};//Object的静态方法//1......
  • Kotlin系列一:基础知识快速入门
    目录​​一概述​​​​二基本类型​​​​2.1 数字​​​​2.2 字符类型​​​​2.3 布尔型​​​​2.4 数组类型​​​​2.5 字符串​​​​三类型转换和变量定义......
  • Kotlin系列六:从集合谈Kotlin中的Lambda编程
    目录 ​​一集合的函数式API​​​​1.1.1List​​​​1.1.2 Set​​​​1.1.3 Map​​​​二集合的函数式API​​​​2.1 集合的函数式API的推导​​​​2.1集合常......
  • python-面向对象- 实例方法,类方法,静态方法, 类属性
    名称定义方法权限调用方法实例方法第一个参数必须是示例,一般命名为self可以访问实例的属性和方法,也可以访问类的实例和方法一般通过示例调用,类也可以调用类方法......
  • Spring boot中apollo-kotlin基本使用(一个客户端使用多个graphql端点)
    apollo-kotlin一、新建Springboot项目.├──build.gradle.kts└──src├──main│  ├──graphql│  │  ├──service1│ ......
  • 从 Java 到 Kotlin - 介绍 Kotlin
    B站视频:​​https://www.bilibili.com/video/BV1Ti4y197u9/?share_source=copy_web&vd_source=74448386fecd6b0affd408eabb573749​​语法层面可空对象(和C#的<Nullable>......