Kotlin基础(①)

open 关键字:打破 Kotlin 的"默认封闭"规则

Kotlin 复制代码
// 基类必须加 open 才能被继承
open class Animal {
    // 方法也要加 open 才能被子类重写
    open fun makeSound() {
        println("Some sound")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Woof!")
    }
}

// 使用
val dog = Dog()
dog.makeSound() // 输出: Woof!

Lambda 表达式:简化匿名函数

Kotlin 复制代码
val numbers = listOf(1, 2, 3)

// ✅ 正确:单数参数名(代表每个元素)
numbers.filter { number -> number > 1 }

// ❌ 错误:复数参数名(容易误解为整个集合)
numbers.filter { numbers -> numbers > 1 } // 编译错误!因为 `numbers` 是单个元素,不能和数字比较
Kotlin 复制代码
data class Student(val name: String, val score: Int)

val students = listOf(
    Student("小明", 90),
    Student("小红", 80)
)

// ✅ 正确:单数参数名,代表每个学生对象
students.filter { student -> student.score > 85 }

// ✅ 也可以用 `it` 简写
students.filter { it.score > 85 }
相关推荐
kkkkatoq1 分钟前
Java中的锁
java·开发语言
郁大锤11 分钟前
Android Studio 国内镜像使用与 SDK 下载速度优化指南
android·ide·android studio
LCY13320 分钟前
spring security +kotlin 实现oauth2.0 认证
java·spring·kotlin
Evand J21 分钟前
【MATLAB例程】AOA定位、AOA与TOA混合定位,二维环境下的对比,基站(锚点数量)自适应调整,附代码下载链接
开发语言·matlab
Thomas_YXQ31 分钟前
Unity3D ILRuntime与Scripting Backend整合指南
服务器·开发语言·unity·unity3d
Chandler2435 分钟前
Go:反射
开发语言·后端·golang
盒子691042 分钟前
go for 闭环问题【踩坑记录】
开发语言·后端·golang
加点油。。。。44 分钟前
C语言高频面试题——strcpy与memcpy区别
c语言·开发语言
拓端研究室TRL1 小时前
Python+AI提示词比特币数据预测:Logistic逻辑回归、SVC及XGB特征工程优化实践
开发语言·人工智能·python·算法·逻辑回归
那就摆吧1 小时前
数据结构-栈
android·java·c语言·数据结构