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 }
相关推荐
夏影孤灯1 小时前
C 语言问题
c语言·开发语言
jzlhll1234 小时前
android MVC/MVP/MVVM/MVI架构发展历程和编写范式
android·架构
安卓开发者4 小时前
Android ConstraintLayout 使用详解
android
新手小新5 小时前
C++游戏开发(2)
开发语言·前端·c++
你的电影很有趣5 小时前
lesson30:Python迭代三剑客:可迭代对象、迭代器与生成器深度解析
开发语言·python
程序员编程指南7 小时前
Qt 嵌入式界面优化技术
c语言·开发语言·c++·qt
q__y__L7 小时前
C#线程同步(二)锁
开发语言·性能优化·c#
CV资深专家7 小时前
Android 基础入门学习目录(持续更新)
android
侧耳4297 小时前
android添加i2c-tools工具
android
二川bro7 小时前
第二篇:Three.js核心三要素:场景、相机、渲染器
开发语言·javascript·数码相机