当前位置: 首页 > 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 }

http://www.dtcms.com/a/146314.html

相关文章:

  • 速通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融合网络
  • 从代码学习深度学习 - 学习率调度器 PyTorch 版
  • Vue-组件的懒加载,按需加载
  • PyCharm 初级教程:从安装到第一个 Python 项目
  • git远程分支重命名(纯代码操作)
  • 大模型基础
  • 学习深度学习是否要先学习机器学习?工程师的路径选择策略
  • 重构・协同・共生:传统代理渠道数字化融合全链路解决方案
  • 基于Java的不固定长度字符集在指定宽度和自适应模型下图片绘制生成实战
  • 一段式端到端自动驾驶:VAD:Vectorized Scene Representation for Efficient Autonomous Driving
  • Spring Boot 核心模块全解析:12 个模块详解及作用说明