Kotlin特性学习笔记

这篇具有很好参考价值的文章主要介绍了Kotlin特性学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,关键字by修饰类,表示类委托
interface Animation{
    fun eat()
}

//动态代理
class Dog:Animation{
    override fun eat() {
        println("dog eat oligarch")
    }
}

class DogProxy:Animation by Dog(){

}

2,关键字by修饰变量,实现属性委托

var name:String by NameDelegate()

class NameDelegate:ReadWriteProperty<Any?,String>{
    override fun getValue(thisRef: Any?, property: KProperty<*>): String {
        println(property.name)
        return property.name
    }

    override fun setValue(thisRef: Any?, property: KProperty<*>, value: String) {
        println(value)
    }
}

3,operator修饰方法,表示重写操作符

lateinit var mList:MyList<Int>
mList.plus(1)
mList+1
interface MyList<out T>{
    fun get(index:Int):T
    operator fun plus(t: @UnsafeVariance T)
    operator fun div(t: @UnsafeVariance T)
    operator fun minus(t: @UnsafeVariance T)
}

kotlin所有运算操作符:文章来源地址https://www.toymoban.com/news/detail-801986.html

一元操作符(Unary Operators)
+a a.unaryPlus()
-a a.unaryMinus()
!a a.not()
a++ a.inc()
二元操作符(  Binary Operators)

到了这里,关于Kotlin特性学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安卓学习笔记之五:Android Studio_骰子案例3(Kotlin搭配 Jetpack Compose实现)

    使用 Compose 创建一款交互式  Dice Roller  Android 应用。 完成: 定义可组合函数。 使用组合创建布局。 使用  Button  可组合项创建按钮。 导入  drawable  资源。 使用  Image  可组合项显示图片。 使用可组合项构建交互式界面。 使用  remember  可组合项将组合中的对象存储到内

    2024年02月20日
    浏览(48)
  • Kotlin 1.9.0 发布:带来多项新特性,改进 Multiplatform/Native 支持

    Kotlin 的最新版本引入了许多新的语言特性,包括用于开放范围的…操作符、扩展正则表达式等。此外,它还改进了 Kotlin Multiplatform 和 Kotlin/Native 支持。 Kotlin 1.9 稳定了与枚举类关联的 entries 属性,它会返回所定义的枚举常量的所有值的列表。entries 弃用了 values(),它不再每次

    2024年02月14日
    浏览(36)
  • 【Kotlin】字符串操作 ① ( 截取字符串函数 substring | 拆分字符串函数 split | 解构语法特性 )

    Kotlin 中提供了 截取字符串函数 substring , 可接收 IntRange 类型的参数 , 这是 整数范围 类型 ; 截取字符串函数 substring 函数原型为 : 整数范围类型 : 其整数范围是 {0 , 1 , 2 , 3} ; 其整数范围是 {0 , 1 , 2} ; 代码示例 : 执行结果 : 拆分字符串函数 split 返回的是 List 集合 ; 拆分字符串函

    2023年04月08日
    浏览(60)
  • Kotlin笔记(五):泛型基础,委托

     Java自1.5版本引入了泛型的概念, Kotlin自然也支持泛型,Kotlin的泛型跟Java的泛型有相同之处,也有一些特别之处.  在一般的编程模式下,我们需要给任何一个变量指定一个具体的类型,而泛型允许我们在不指定具体类型的情况下进行编程,这样编写出来的代码将会拥有更好的

    2024年02月07日
    浏览(39)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化

     0. 在app模块的build.gradle文件中添加如下配置开启ViewBinding  1. 新建一个Ext.kt文件  添加两个扩展函数,分别对应Activity和Fragment 2. Activity中使用 BaseActivity 继承自BaseActivity的子类  3. Fragment中使用 继承自BaseFragment的子类

    2024年02月06日
    浏览(34)
  • Kotlin学习记录

    除了java的 public , protected , default , private 外,又有独特的 internal , open 修饰符。 直译为内部的,访问范围是当前模块可见。使用示例: 默认情况下 class 和成员都是具备 final 修饰符的,即无法被继承和复写。 如果可以被继承或复写,需要添加 open 修饰。使用示例: 更多

    2024年02月09日
    浏览(31)
  • Kotlin学习之路(六):继承

    Kotlin的继承和Java的继承一样都是单继承,区别在于Kotlin用 : 来代替了 extends Kotlin用 : 表示继承,Java用 exteds 表示继承。 上面是最简单的Kotlin继承的例子。这里还需要注意的是在Kotlin中类默认都是final的(代表该类不让继承),需要在 class 前面加上 open ,表示该类可以被其

    2023年04月19日
    浏览(37)
  • Kotlin学习 - 类和对象

    类定义 使用Java定义一个 Person 类,代码如下: 使用Kotlin来定义这个类 新建对象代码: 属性field、setter、getter 针对类中定义的每个属性,Kotlin都会产生一个 field ,一个 getter ,和一个 setter (只读属性没有 setter 方法), field 用来存储属性性的数据,无法直接定义 field 。Ko

    2024年02月10日
    浏览(30)
  • 学习Kotlin~函数式编程

    高阶函数:以函数为参数或返回函数 函数式编程范式主要依赖于高阶函数返回的数据,这些高阶函数专用于处理各种集合 这些高阶函数可方便的联合多个同类函数构建链式操作以创建复杂的计算行为 函数类别 一个函数式应用通常由三大类构成:变换transform、过滤filter、合并

    2024年02月12日
    浏览(41)
  • 学习Kotlin~函数

    函数参数 不打算传入值参,可以预先给参数指定默认值 有名的函数值参,如果使用命名值参,可以不用管值参的顺序 参数的顺序相反了,也不会影响最终结果。 Unit函数 Kotlin中没有返回值的函数叫Unit函数。 Nothing类型 TODO函数的任务就是抛出异常,就是永远别指望它能运行成

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包