Kotlin 面向对象 - Kotlin 类变量与类方法

类变量

1、伴生对象
  • 在类内部声明,用 companion 标记,类似于 Java 的静态成员
kotlin 复制代码
class MyClass {
    companion object {
        val TAG: String = "MyClass"
        var count: Int = 0
    }
}
kotlin 复制代码
println(MyClass.TAG)

println(MyClass.count)
MyClass.count = 10
println(MyClass.count)
复制代码
# 输出结果

MyClass
0
10
2、顶层属性
  • 直接在 Kotlin 文件中定义,不放在任何类内
kotlin 复制代码
const val APP_NAME = "MyApp"

var globalCounter = 0
kotlin 复制代码
println(APP_NAME)

println(globalCounter)
globalCounter++
println(globalCounter)
复制代码
# 输出结果

MyApp
0
1

类方法

1、伴生对象
kotlin 复制代码
class Utils {
    companion object {
        fun formatDate(): String {
            return SimpleDateFormat(
                "yyyy-MM-dd HH:mm:ss",
                Locale.getDefault()
            ).format(System.currentTimeMillis())
        }

        fun doubleValue(x: Int): Int = x * 2
    }
}
kotlin 复制代码
val formattedDate = Utils.formatDate()
println(formattedDate)

val doubleValue = Utils.doubleValue(5)
println(doubleValue)
复制代码
# 输出结果

2026-08-05 17:28:35
10
2、顶层属性
kotlin 复制代码
fun isEmailValid(email: String): Boolean {
    return email.contains("@")
}

fun greet(name: String): String = "Hello, $name!"
kotlin 复制代码
val result = isEmailValid("test@example.com")
println(result)

val greetResult = greet("Kotlin")
println(greetResult)
复制代码
# 输出结果

true
Hello, Kotlin!
相关推荐
软件技术NINI5 小时前
基于SpringBoot和Vue的摇滚乐鉴赏网站
vue.js·spring boot·后端·spring·html·毕业设计·毕设
YB13755 小时前
kotlin与函数式编程
kotlin
2501_915921435 小时前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
Tsuki_tl5 小时前
【总结】Redis五大数据类型应用场景及基本命令
数据库·redis·后端·缓存·缓存中间件·redis命令·redis 五大数据类型
Gauss松鼠会5 小时前
GaussDB 整体架构解析
运维·服务器·网络·数据库·sql·架构·gaussdb
后台模板学习5 小时前
Go Web开发中任务调度框架的源码解析与高可用实现方案
开发语言·后端·golang
系统集成-鹰翔6 小时前
ERP对接升级提示数据库迁移失败:SQLite逐版本事务到底回滚到哪一步
javascript·数据库·经验分享·后端
西瓜拿铁好喝6 小时前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
IT_陈寒6 小时前
深入理解SpringBoot:核心原理与最佳实践
前端·人工智能·后端
学长毕设6 小时前
基于SpringBoot的校园礼服租赁系统的设计与实现
java·spring boot·后端