当前位置: 首页 > news >正文

Kotlin基础(①)

open 关键字:打破 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 表达式:简化匿名函数

val numbers = listOf(1, 2, 3)// ✅ 正确:单数参数名(代表每个元素)
numbers.filter { number -> number > 1 }// ❌ 错误:复数参数名(容易误解为整个集合)
numbers.filter { numbers -> numbers > 1 } // 编译错误!因为 `numbers` 是单个元素,不能和数字比较
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 }

相关文章:

  • 速通FlinkCDC3.0
  • MongoDB数据库的安装到入门使用详细讲解
  • HTTP 和 HTTPS 有什么区别?
  • 负载均衡与实时调度—LSF
  • 解决Mac 安装 PyICU 依赖失败
  • Centos9 安装 nginx 及配置
  • 【React】搜索时高亮被搜索选中的文案
  • 算法工程师面试题与参考答案资料(2025年版)
  • C++算法(10):二叉树的高度与深度,(C++代码实战)
  • Java 泛型使用教程
  • Netty前置基础知识之BIO、NIO以及AIO理论详细解析和实战案例
  • 使用PyTorch实现图像增广与模型训练实战
  • RESTful学习笔记(二)---简单网页前后端springboot项目搭建
  • uni-app 状态管理深度解析:Vuex 与全局方案实战指南
  • 【C++软件实战问题排查经验分享】UI界面卡顿 | CPU占用高 | GDI对象泄漏 | 线程堵塞 系列问题排查总结
  • 如何维护技术文档的持续更新?
  • 【Unity笔记】Unity音视频播放监听器封装笔记:VideoPlayer + AudioSource事件触发与编辑器扩展
  • 微软Entra新安全功能引发大规模账户锁定事件
  • GeoAI技术内涵与城市计算
  • 目标检测:视觉系统中的CNN-Transformer融合网络
  • 西安雁塔区委书记王征拟任市领导班子副职,曾从浙江跨省调任陕西
  • 又一名被拐孩子找到!29年后,在警方帮助下云南男子寻子成功
  • 国家税务总局镇江市税务局原纪检组组长朱永凯接受审查调查
  • 从沙漠到都市:贝亲世界地球日特别行动,以桃叶冰爽力开启地球降温之旅
  • 清华成立教育学院:加快高层次人才培养、加强教育学科建设
  • 朱雨玲:从前世界第一到兼职运动员,30岁后开始“玩”乒乓