当前位置: 首页 > 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融合网络
  • 即日起,“应急使命·2025”演习公开征集新质救援能力
  • 短剧迷|《权宠》一出,《名不虚传》
  • “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 两部门预拨4000万元支持山西、广西、陕西做好抗旱救灾工作
  • 国务院食安办:加强五一假期食品生产、销售、餐饮服务环节监管