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!
相关推荐
AlienZHOU3 小时前
AI Coding 时代下,我的技术面试实践分享
前端·后端·面试
野生技术架构师4 小时前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
香吧香5 小时前
java服务异常日志只打印异常类型,没有堆栈定位分析
java·jvm·异常
国际云,接待5 小时前
华为云 EVS 性能诊断:用 CES、ECS QoS 与 fio 定位 IOPS 和吞吐瓶颈
服务器
qq_2518364575 小时前
AI 疾病自查功能SpringbootAI项目实战 · 技术实现文档
java·ai·ai编程
狗头大军之江苏分军5 小时前
《潮水漫过十七岁》开学了
后端
逆境不可逃6 小时前
Pi Agent 学习笔记:对话太长以后,如何压缩上下文
java
MetaLite6 小时前
JDK 8~26 核心特性一览:从 Stream 到 Scoped Values
java
苏三说技术6 小时前
如何看待GPT-6在UP主众测中碾压夺冠?它是现在最强大模型吗?
后端
mldong6 小时前
一份 JSON,一条能跑的审批流:把报销流程送上工作流引擎
后端·架构